亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 學院 > 開發設計 > 正文

C#創建Excel(.xls和.xlsx)文件的三種方法

2019-11-14 16:40:38
字體:
來源:轉載
供稿:網友

生成Excel文件是經常需要用到的功能,我們利用一些開源庫可以很容易實現這個功能。


方法一:利用excellibrary,http://code.google.com/p/excellibrary/


excellibrary是國人寫的開源組件,很容易使用,可惜貌似還不支持.xlsx(Excel 2007),例子如下:

//Create the data set and tableDataSet ds = new DataSet("New_DataSet");DataTable dt = new DataTable("New_DataTable");//Set the locale for eachds.Locale = System.Threading.Thread.CurrentThread.CurrentCulture;dt.Locale = System.Threading.Thread.CurrentThread.CurrentCulture;//Open a DB connection (in this example with OleDB)OleDbConnection con = new OleDbConnection(dbConnectionString);con.Open();//Create a query and fill the data table with the data from the DBstring sql = "SELECT Whatever FROM MyDBTable;";OleDbCommand cmd = new OleDbCommand(sql, con);OleDbDataAdapter adptr = new OleDbDataAdapter();adptr.SelectCommand = cmd;adptr.Fill(dt);con.Close();//Add the table to the data setds.Tables.Add(dt);//Here's the easy part. Create the Excel worksheet from the data setExcelLibrary.DataSetHelper.CreateWorkbook("MyExcelFile.xls", ds);

  

例子二:

//create new xls filestring file = "C://newdoc.xls";Workbook workbook = new Workbook();Worksheet worksheet = new Worksheet("First Sheet");worksheet.Cells[0, 1] = new Cell((short)1);worksheet.Cells[2, 0] = new Cell(9999999);worksheet.Cells[3, 3] = new Cell((decimal)3.45);worksheet.Cells[2, 2] = new Cell("Text string");worksheet.Cells[2, 4] = new Cell("Second string");worksheet.Cells[4, 0] = new Cell(32764.5, "#,##0.00");worksheet.Cells[5, 1] = new Cell(DateTime.Now, @"YYYY/-MM/-DD");worksheet.Cells.ColumnWidth[0, 1] = 3000;workbook.Worksheets.Add(worksheet);workbook.Save(file);// open xls fileWorkbook book = Workbook.Load(file);Worksheet sheet = book.Worksheets[0];// traverse cellsforeach (Pair<Pair<int, int>, Cell> cell in sheet.Cells){dgvCells[cell.Left.Right, cell.Left.Left].Value = cell.Right.Value;}// traverse rows by Indexfor (int rowIndex = sheet.Cells.FirstRowIndex;rowIndex <= sheet.Cells.LastRowIndex; rowIndex++){Row row = sheet.Cells.GetRow(rowIndex);for (int colIndex = row.FirstColIndex;colIndex <= row.LastColIndex; colIndex++){Cell cell = row.GetCell(colIndex);}}

 

方法二:利用EPPlus,http://epplus.codeplex.com/
EPPlus是一個使用Open Office xml(xlsx)文件格式,能讀寫Excel 2007/2010 文件的開源組件。
例子如下:

var file = @"Sample.xlsx";if (File.Exists(file)) File.Delete(file);using (var excel = new ExcelPackage(new FileInfo(file))){var ws = excel.Workbook.Worksheets.Add("Sheet1");ws.Cells[1, 1].Value = "Date";ws.Cells[1, 2].Value = "

  


例子二:

using OfficeOpenXml;//指定Templete文檔Text.xlsxFileInfo newFile = new FileInfo("D:" + @"/Test.xlsx");//開啟using (ExcelPackage pck = new ExcelPackage(newFile)){try{//設定ExcelWorkBookExcelWorkbook workBook = pck.Workbook;if (workBook != null){if (workBook.Worksheets.Count > 0){//復制Temp這個Sheet同時命名為《清單》ExcelWorksheet currentWorksheet = workBook.Worksheets.Copy("Temp", "清單");//可以設定保護Sheet的密碼//currentWorksheet.Protection.SetPassWord("1234");int StartRow = 4;for (int i = 0; i < tDS.Tables[0].Rows.Count; i++){//Cells[RowIndex,CellIndex]currentWorksheet.Cells[StartRow + i, 1].Value = Convert.ToString(tDS.Tables[0].Rows[i][0]);currentWorksheet.Cells[StartRow + i, 2].Value = Convert.ToString(tDS.Tables[0].Rows[i][1]);currentWorksheet.Cells[StartRow + i, 3].Value = Convert.ToString(tDS.Tables[0].Rows[i][2]);currentWorksheet.Cells[StartRow + i, 4].Value = Convert.ToString(tDS.Tables[0].Rows[i][3]);currentWorksheet.Cells[StartRow + i, 5].Value = Convert.ToString(tDS.Tables[0].Rows[i][4]);currentWorksheet.Cells[StartRow + i, 6].Value = Convert.ToString(tDS.Tables[0].Rows[i][5]);currentWorksheet.Cells[StartRow + i, 7].Value = Convert.ToString(tDS.Tables[0].Rows[i][6]);currentWorksheet.Cells[StartRow + i, 8].Value = Convert.ToString(tDS.Tables[0].Rows[i][7]);currentWorksheet.Cells[StartRow + i, 9].Value = Convert.ToString(tDS.Tables[0].Rows[i][8]);currentWorksheet.Cells[StartRow + i, 10].Value = Convert.ToString(tDS.Tables[0].Rows[i][9]);currentWorksheet.Cells[StartRow + i, 11].Value = Convert.ToString(tDS.Tables[0].Rows[i][10]);currentWorksheet.Cells[StartRow + i, 12].Value = Convert.ToString(tDS.Tables[0].Rows[i][11]);currentWorksheet.Cells[StartRow + i, 13].Value = Convert.ToString(tDS.Tables[0].Rows[i][12]);}//將Temp 這個Sheet刪除workBook.Worksheets.Delete("Temp");}}//存至Text4.xlsxpck.SaveAs(new FileInfo("H:" + @"/Test4.xlsx"));}catch (Exception e){oLogger.Fatal(e.ToString());}}

  

方法三:NPOI http://npoi.codeplex.com/
NPOI無需Office COM組件且不依賴Office,使用NPOI能夠幫助開發者在沒有安裝微軟Office的情況下讀寫Office 97-2003的文件,支持的文件格式包括xls, doc, PPT等。NPOI是構建在POI 3.x版本之上的,它可以在沒有安裝Office的情況下對Word/Excel文檔進行讀寫操作。
被人稱為操作EXCEL的終極方案,例子如下:

//引用using NPOI.HSSF.UserModel;using NPOI.HPSF;using NPOI.POIFS.FileSystem;using NPOI.SS.UserModel;//將WorkBook指到我們原本設計好的Templete Book1.xlsusing (IWorkbook wb = new HSSFWorkbook(new FileStream("D:/Book1.xls", FileMode.Open))){try{//設定要使用的Sheet為第0個SheetISheet TempSheet = wb.GetSheetAt(0);int StartRow = 4;//tDS為Query回來的資料for (int i = 0; i < tDS.Tables[0].Rows.Count; i++){//第一個Row要用Create的TempSheet.CreateRow(StartRow + i).CreateCell(0).SetCellValue(Convert.ToString(tDS.Tables[0].Rows[i][0]));//第二個Row之后直接用Get的TempSheet.GetRow(StartRow + i).CreateCell(1).SetCellValue(Convert.ToString(tDS.Tables[0].Rows[i][1]));TempSheet.GetRow(StartRow + i).CreateCell(2).SetCellValue(Convert.ToString(tDS.Tables[0].Rows[i][2]));TempSheet.GetRow(StartRow + i).CreateCell(3).SetCellValue(Convert.ToString(tDS.Tables[0].Rows[i][3]));TempSheet.GetRow(StartRow + i).CreateCell(4).SetCellValue(Convert.ToString(tDS.Tables[0].Rows[i][4]));TempSheet.GetRow(StartRow + i).CreateCell(5).SetCellValue(Convert.ToString(tDS.Tables[0].Rows[i][5]));TempSheet.GetRow(StartRow + i).CreateCell(6).SetCellValue(Convert.ToString(tDS.Tables[0].Rows[i][6]));TempSheet.GetRow(StartRow + i).CreateCell(7).SetCellValue(Convert.ToString(tDS.Tables[0].Rows[i][7]));TempSheet.GetRow(StartRow + i).CreateCell(8).SetCellValue(Convert.ToString(tDS.Tables[0].Rows[i][8]));TempSheet.GetRow(StartRow + i).CreateCell(9).SetCellValue(Convert.ToString(tDS.Tables[0].Rows[i][9]));TempSheet.GetRow(StartRow + i).CreateCell(10).SetCellValue(Convert.ToString(tDS.Tables[0].Rows[i][10]));TempSheet.GetRow(StartRow + i).CreateCell(11).SetCellValue(Convert.ToString(tDS.Tables[0].Rows[i][11]));TempSheet.GetRow(StartRow + i).CreateCell(12).SetCellValue(Convert.ToString(tDS.Tables[0].Rows[i][12]));}//將文檔寫到指定位置using (FileStream file = new FileStream("H:/Test_NPOI4.xls", FileMode.Create)){wb.Write(file);file.Close();file.Dispose();}}catch (Exception e){string a = e.ToString();}}

  



發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
色哟哟亚洲精品一区二区| 国产精自产拍久久久久久蜜| 伊人伊成久久人综合网站| 2019中文字幕免费视频| 97国产精品人人爽人人做| 亚洲视频在线观看网站| 8090理伦午夜在线电影| 亚洲色图第三页| 国产精品观看在线亚洲人成网| 亚洲免费视频观看| 亚洲成人免费在线视频| 国产精品午夜一区二区欲梦| 福利一区福利二区微拍刺激| 亚洲最大av网| 中文字幕日韩av电影| 国产91精品黑色丝袜高跟鞋| 色视频www在线播放国产成人| 久久久久亚洲精品| 亚洲欧美中文日韩在线v日本| 欧美激情精品久久久久久黑人| 亚洲电影中文字幕| 日韩av中文字幕在线播放| 欧美极品美女视频网站在线观看免费| 欧美日韩国产丝袜另类| 国产+成+人+亚洲欧洲| 中文字幕亚洲色图| 日韩高清欧美高清| 久热在线中文字幕色999舞| 国产精品电影久久久久电影网| 日本欧美黄网站| 国内精品久久久久久影视8| 国产精品久久久久久久久久东京| 国产在线不卡精品| 欧美精品在线播放| 欧美黑人巨大xxx极品| 最近中文字幕mv在线一区二区三区四区| 国产成人亚洲综合91| 日韩视频―中文字幕| 亚洲无限乱码一二三四麻| 亚洲精品国产精品自产a区红杏吧| 国产精品美女无圣光视频| 亚洲人av在线影院| 国产精品亚洲网站| 亚洲在线一区二区| 欧美日韩在线视频首页| 色青青草原桃花久久综合| 欧美成人精品在线观看| 91亚洲精品在线| 成人免费淫片aa视频免费| 欧美成年人视频网站| 亚洲视频在线免费看| 亚洲性日韩精品一区二区| 在线不卡国产精品| 亚洲精品自拍偷拍| 欧美国产高跟鞋裸体秀xxxhd| 精品国产91久久久久久老师| 欧美国产在线电影| 日韩欧美亚洲综合| 日韩成人在线视频网站| 亚洲电影免费在线观看| 欧美成人精品影院| 亚洲免费成人av电影| 2019亚洲男人天堂| 亚洲精品视频播放| 欧美黑人国产人伦爽爽爽| 久久九九有精品国产23| 国产精品日韩欧美综合| 亚洲国产一区二区三区在线观看| 欧美成人sm免费视频| 色狠狠av一区二区三区香蕉蜜桃| 中文字幕亚洲精品| 91九色蝌蚪国产| 欧美日韩国产在线| 久久韩剧网电视剧| 精品福利樱桃av导航| 日韩免费中文字幕| 国产成人亚洲精品| 国产成+人+综合+亚洲欧洲| 2018日韩中文字幕| 国产mv免费观看入口亚洲| 欧美激情国产日韩精品一区18| 日韩欧美精品中文字幕| 亚洲激情中文字幕| 亚州成人av在线| 色午夜这里只有精品| 欧美一级高清免费| 国产亚洲欧美日韩精品| 一区二区三区视频观看| 欧美另类老肥妇| 97色在线观看免费视频| 精品免费在线观看| 欧美日韩中文字幕在线视频| 欧美日韩国产精品| 欧美高清视频在线观看| 亚洲欧美国产制服动漫| 国产精品久久77777| 欧美日韩国产一区二区三区| 亚洲网站在线播放| 国产精品久久999| 欧美性受xxx| 国产精品视频免费在线观看| 日韩av理论片| 国产精品免费久久久久影院| 国产一区深夜福利| 国产啪精品视频| 亚洲无限av看| 国产精品视频1区| 国产精品高清在线| 亚洲一区精品电影| 亚洲激情在线观看| 九九久久国产精品| 亚洲国产成人精品女人久久久| 日韩在线免费高清视频| 亚洲二区中文字幕| 日韩国产高清视频在线| 亚洲第一页在线| 久久久久久噜噜噜久久久精品| 欧美一级电影在线| 亚洲欧洲在线免费| 久久九九热免费视频| 中文字幕免费国产精品| 日本精品免费一区二区三区| 中文字幕不卡av| 中文字幕在线观看亚洲| 亚洲国产成人精品久久久国产成人一区| 亚洲精品国偷自产在线99热| 久久视频在线直播| 在线视频日本亚洲性| 日韩在线精品视频| 久久亚洲精品中文字幕冲田杏梨| 伊人久久男人天堂| 97在线看福利| 国产精品高潮呻吟久久av野狼| 岛国av一区二区在线在线观看| 久久中国妇女中文字幕| 日韩精品中文字幕在线| 亚洲天堂av网| 国产精品美女在线观看| 国产精品av在线播放| 欧美激情精品久久久久久变态| 亚洲国内高清视频| 色综合91久久精品中文字幕| 久久久久北条麻妃免费看| 久久精品夜夜夜夜夜久久| 日本一区二区三区在线播放| 久久亚洲精品毛片| 91久久久久久久久久| 国产亚洲欧洲高清一区| 日韩欧美国产免费播放| 国语自产精品视频在线看一大j8| 亚洲精品久久久久久久久久久| 国产精品jvid在线观看蜜臀| 色狠狠av一区二区三区香蕉蜜桃| 最近2019中文字幕一页二页| 国产精品亚洲视频在线观看| 国产精品日韩精品| 国产精品日韩久久久久| 成人情趣片在线观看免费| 亚洲 日韩 国产第一| 日韩欧美综合在线视频| 亚洲成人黄色在线观看| 中文在线不卡视频| 成人免费在线视频网站| 日韩电影免费观看在线|