一個.NET庫,可以讀取/寫入沒有安裝Microsoft Office的Office格式。沒有COM +,沒有互操作。 ...
一個.NET庫,可以讀取/寫入沒有安裝Microsoft Office的Office格式。沒有COM +,沒有互操作。
public class ExcelNpoiTest { /// <summary> /// NPOI基礎的Excel創建 /// </summary> public static void CreateExcel() { //創建工作薄 HSSFWorkbook wk = new HSSFWorkbook(); //創建一個名稱為mySheet的表 ISheet tb = wk.CreateSheet("mySheet"); for (int i = 0; i < 20; i++) { //創建行 IRow row = tb.CreateRow(i); for (int j = 0; j < 20; j++) { //創建列 ICell cell = row.CreateCell(j); //賦值 cell.SetCellValue($"[{i},{j}]"); } } //打開一個現有文件或創建一個新文件以進行寫入。 using (FileStream fs = File.OpenWrite(@"D:\myxls.xls")) { //向打開的這個xls文件中寫入mySheet表並保存。 wk.Write(fs); } } /// <summary> /// NPOI基礎的Excel讀取 /// </summary> public static void ReadExcel() { //打開現有文件以進行讀取。 using (FileStream fs = File.OpenRead(@"D:\myxls.xls")) { //把文件寫入wk中 HSSFWorkbook wk = new HSSFWorkbook(fs); for (int i = 0; i < wk.NumberOfSheets; i++) { //獲取sheet ISheet sheet = wk.GetSheetAt(i); for (int j = 0; j < sheet.LastRowNum; j++) { //獲取行 IRow row = sheet.GetRow(j); if (row != null) { for (int k = 0; k < row.LastCellNum; k++) { //獲取列 ICell cell = row.GetCell(k); if (cell != null) { //獲取值 Console.Write(cell.ToString()); } } } Console.WriteLine(); } } } } }