C#操作EXCEL DataTable轉(zhuǎn)換的實例代碼
更新時間:2013年04月08日 22:36:36 作者:
C#操作EXCEL DataTable轉(zhuǎn)換的實例代碼,需要的朋友可以參考一下
復制代碼 代碼如下:
//加載Excel
public DataSet LoadDataFromExcel(string filePath)
{
try
{
string strConn;
//strConn = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + filePath + ";Extended Properties='Excel 8.0;HDR=False;IMEX=1'";
strConn = string.Format("Provider=Microsoft.ACE.OLEDB.12.0;Data Source={0};Extended Properties='Excel 8.0;HDR=Yes;IMEX=1;'", filePath);
OleDbConnection OleConn = new OleDbConnection(strConn);
OleConn.Open();
String sql = "SELECT * FROM [Sheet1$]";//可是更改Sheet名稱,比如sheet2,等等
OleDbDataAdapter OleDaExcel = new OleDbDataAdapter(sql, OleConn);
DataSet OleDsExcle = new DataSet();
OleDaExcel.Fill(OleDsExcle, "Sheet1");
OleConn.Close();
return OleDsExcle;
}
catch (Exception err)
{
return null;
}
}
/// <summary>
/// DataTable直接導出Excel,此方法會把DataTable的數(shù)據(jù)用Excel打開,再自己手動去保存到確切的位置
/// </summary>
/// <param name="dt">要導出Excel的DataTable</param>
/// <returns></returns>
public bool DoExport(System.Data.DataTable dt)
{
Microsoft.Office.Interop.Excel.Application app = new ApplicationClass();
if (app == null)
{
throw new Exception("Excel無法啟動");
}
app.Visible = true;
Workbooks wbs = app.Workbooks;
Workbook wb = wbs.Add(Missing.Value);
Worksheet ws = (Worksheet)wb.Worksheets[1];
int cnt = dt.Rows.Count;
int columncnt = dt.Columns.Count;
// *****************獲取數(shù)據(jù)********************
object[,] objData = new Object[cnt + 1, columncnt]; // 創(chuàng)建緩存數(shù)據(jù)
// 獲取列標題
for (int i = 0; i < columncnt; i++)
{
objData[0, i] = dt.Columns[i].ColumnName;
}
// 獲取具體數(shù)據(jù)
for (int i = 0; i < cnt; i++)
{
System.Data.DataRow dr = dt.Rows[i];
for (int j = 0; j < columncnt; j++)
{
objData[i + 1, j] = dr[j];
}
}
//********************* 寫入Excel******************
Range r = ws.get_Range(app.Cells[1, 1], app.Cells[cnt + 1, columncnt]);
r.NumberFormat = "@";
//r = r.get_Resize(cnt+1, columncnt);
r.Value2 = objData;
r.EntireColumn.AutoFit();
app = null;
return true;
}
您可能感興趣的文章:
相關(guān)文章
C#實現(xiàn)字符串轉(zhuǎn)換成字節(jié)數(shù)組的簡單實現(xiàn)方法
這篇文章主要介紹了C#實現(xiàn)字符串轉(zhuǎn)換成字節(jié)數(shù)組的簡單實現(xiàn)方法,僅一行代碼即可搞定,非常簡單實用,需要的朋友可以參考下2015-05-05C#使用Selenium+PhantomJS抓取數(shù)據(jù)
本文主要介紹了C#使用Selenium+PhantomJS抓取數(shù)據(jù)的方法步驟,具有很好的參考價值,下面跟著小編一起來看下吧2017-02-02C#中BitmapImage與BitmapSource接口的區(qū)別對比小結(jié)
BitmapImage和BitmapSource都可以用于表示和顯示圖像,本文就來介紹一下C#中BitmapImage與BitmapSource接口的區(qū)別對比,具有一定的參考價值,感興趣的可以了解一下2024-03-03