大神們求教Winform Excel2007匯出資料的連接代碼 可以自定義標題的那種
uj5u.com熱心網友回復:
NPOI,可以設定字體、顏色、大小uj5u.com熱心網友回復:
用Microsoft.ACE.OLEDB.12.0 驅動uj5u.com熱心網友回復:
必須先要下載安裝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);
}
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/91997.html
標籤:C#
