日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

用OleDb写的一个导出Excel的方法

發布時間:2025/4/5 编程问答 28 豆豆
生活随笔 收集整理的這篇文章主要介紹了 用OleDb写的一个导出Excel的方法 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

為什么80%的碼農都做不了架構師?>>> ??

//前幾天遇到個導出Excel的問題,然后上網找了很久,終于寫出這個方法了,所以分享一下。

?

/// <summary> /// 根據DataTable生成Excel /// </summary> /// <param name="dataTable">數據源</param> /// <param name="fileName">要保存的路徑</param> /// <param name="fileName">要保存的路徑</param> /// <param name=" rowsCount?">當一個工作表最多的行數rowsCount,當超過時,則新建工作表。</param> /// <returns>生成成功則返回True,否則返回False</returns> public static bool DataTable2Excel(DataTable dataTable, string fileName,int rowsCount) { bool rt = false;//用于返回值 if (dataTable==null && rowsCount<1) { return false; } int rowNum = dataTable.Rows.Count;//獲取行數 int colNum = dataTable.Columns.Count;//獲取列數 int SheetNum = (rowNum - 1) / rowsCount + 1; //獲取工作表數 string sqlText = "";//帶類型的列名 string sqlValues = "";//值 string colCaption = "";//列名 for (int i = 0; i < colNum; i++) { if (i != 0) { sqlText += " , "; colCaption += " , "; } sqlText += "[" + dataTable.Columns[i].Caption.ToString() + "] VarChar";//生成帶VarChar列的標題 colCaption += "[" + dataTable.Columns[i].Caption.ToString() + "]";//生成列的標題 } String sConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;" + "Data Source=" + fileName + ";Extended Properties=Excel 8.0;"; OleDbConnection cn = new OleDbConnection(sConnectionString); try { //判斷文件是否存在,存在則先刪除 if (File.Exists(fileName)) { File.Delete(fileName); } int sheet=1;//表數 int dbRow = 0;//數據的行數 //打開連接 cn.Open(); while(sheet<=SheetNum) { string sqlCreate = "CREATE TABLE [Sheet" + sheet.ToString() + "] (" + sqlText + ")"; OleDbCommand cmd = new OleDbCommand(sqlCreate, cn); //創建Excel文件 cmd.ExecuteNonQuery(); for (int srow = 0; srow < rowsCount; srow++) { sqlValues = ""; for (int col = 0; col < colNum; col++) { if (col != 0) { sqlValues += " , "; } sqlValues += "'" + dataTable.Rows[dbRow][col].ToString() + "'";//拼接Value語句 } String queryString = "INSERT INTO [Sheet"+sheet.ToString()+"] (" + colCaption + ") VALUES (" + sqlValues + ")"; cmd.CommandText = queryString; cmd.ExecuteNonQuery();//插入數據 dbRow++;//目前數據的行數自增 if (dbRow >= rowNum) { //目前數據的行數等于rowNum時退出循環 break; } } sheet++; } rt = true; } catch { } finally { cn.Close(); }
return rt;
}?

轉載于:https://my.oschina.net/bangle/blog/49757

總結

以上是生活随笔為你收集整理的用OleDb写的一个导出Excel的方法的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。