Winform Excel2007导出数据 大神们求教Winform Excel2007导出数据的连接代码 可以自定义标题的那种 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 NPOI,可以设置字体、颜色、大小 用Microsoft.ACE.OLEDB.12.0 驱动 必须先要下载安装Microsoft.ACE.OLEDB.12.0 驱动/// <summary>/// ''' 读取 Excel 表格数据/// ''' </summary>/// ''' <param name="strExcelFilePath">Excel文件</param>/// ''' <param name="SheetName">工作区表名称</param>/// ''' <param name="SqlString">SQL查询语句</param>/// ''' <param name="lpDataTable">返回(DataTable)数据表</param>/// ''' <param name="bRowTitle">第一行是否为标题字段名</param>/// ''' <returns></returns>public bool GetExcelTable(string strExcelFilePath, string SheetName, string SqlString, ref DataTable lpDataTable, bool bRowTitle){ bool bFlag = true; try { // 注意:由于 Microsoft.ACE.OLEDB.12.0 驱动是32位,所以在编译选项必须勾选“首选32位”,否则会报错:未在本地计算机上注册“Microsoft.ACE.OLEDB.12.0”提供程序 // String strConnString = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" & strExcelFilePath & ";Extended Properties='Excel 8.0;HDR=YES'"; string strConnString = ""; if (bRowTitle) // 第一行为标题字段名 strConnString = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" + strExcelFilePath + ";Extended Properties='Excel 12.0;HDR=YES'"; else // 字段名以:F1,F2,F3 ...... strConnString = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" + strExcelFilePath + ";Extended Properties='Excel 12.0;HDR=No'"; using (OleDbConnection connection = new OleDbConnection(strConnString)) { connection.Open(); DataSet ds = null/* TODO Change to default(_) if this is not a reference type */; string mSQL = SqlString; OleDbDataAdapter odda = new OleDbDataAdapter(mSQL, connection); ds = new DataSet(); odda.Fill(ds, SheetName); lpDataTable = ds.Tables(0); connection.Close(); odda.Dispose(); odda = null; ds.Dispose(); ds = null; } } catch (Exception ex) { bFlag = false; MessageBox.Show(ex.Message, "错误信息", MessageBoxButtons.OK, MessageBoxIcon.Error); } return bFlag;} private void button1_Click(object sender, EventArgs e) { DataTable dt; string mSql = "select * from [工作表名$]"; bool bVal = GetExcelTable("D:\Text.xsl", "工作表名", mSql, ref dt, true); } 怎么设计一个类,能够监视这个类的任何属性是否被修改过(不需要修改所有属性的set函数的情况下) SOS同仁,求一个正则表达式,只能输入正整数,要考虑不能出现01234这种情况 不可思议的.Net问题,谁能解决? C#中的string类型的容量问题` 請高手解答,同一事件接連觸發兩次? 请问能改变panel 滚动条的宽度吗 ,在线等 如何在网页中显示。word或者图片啊, 问一道推理题 mm急求方案!DataGrid的在未指定数据源DataSource前列头显示? 救命!iis突然出错!! 拼接URL c#即时显示棋盘状结果
/// <summary>/// ''' 读取 Excel 表格数据/// ''' </summary>/// ''' <param name="strExcelFilePath">Excel文件</param>/// ''' <param name="SheetName">工作区表名称</param>/// ''' <param name="SqlString">SQL查询语句</param>/// ''' <param name="lpDataTable">返回(DataTable)数据表</param>/// ''' <param name="bRowTitle">第一行是否为标题字段名</param>/// ''' <returns></returns>
public bool GetExcelTable(string strExcelFilePath, string SheetName, string SqlString, ref DataTable lpDataTable, bool bRowTitle)
{
bool bFlag = true;
try
{
// 注意:由于 Microsoft.ACE.OLEDB.12.0 驱动是32位,所以在编译选项必须勾选“首选32位”,否则会报错:未在本地计算机上注册“Microsoft.ACE.OLEDB.12.0”提供程序
// String strConnString = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" & strExcelFilePath & ";Extended Properties='Excel 8.0;HDR=YES'";
string strConnString = "";
if (bRowTitle)
// 第一行为标题字段名
strConnString = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" + strExcelFilePath + ";Extended Properties='Excel 12.0;HDR=YES'";
else
// 字段名以:F1,F2,F3 ......
strConnString = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" + strExcelFilePath + ";Extended Properties='Excel 12.0;HDR=No'";
using (OleDbConnection connection = new OleDbConnection(strConnString))
{
connection.Open();
DataSet ds = null/* TODO Change to default(_) if this is not a reference type */;
string mSQL = SqlString;
OleDbDataAdapter odda = new OleDbDataAdapter(mSQL, connection);
ds = new DataSet();
odda.Fill(ds, SheetName);
lpDataTable = ds.Tables(0); connection.Close();
odda.Dispose();
odda = null;
ds.Dispose();
ds = null;
}
}
catch (Exception ex)
{
bFlag = false;
MessageBox.Show(ex.Message, "错误信息", MessageBoxButtons.OK, MessageBoxIcon.Error);
}
return bFlag;
}
private void button1_Click(object sender, EventArgs e)
{
DataTable dt;
string mSql = "select * from [工作表名$]";
bool bVal = GetExcelTable("D:\Text.xsl", "工作表名", mSql, ref dt, true);
}