C#使用NPOI庫讀寫Excel文件
更新時間:2022年02月21日 16:26:44 作者:t_z_l
這篇文章主要為大家詳細介紹了C#使用NPOI庫讀寫Excel文件,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
本文實例為大家分享了C#使用NPOI庫讀寫Excel文件的具體代碼,供大家參考,具體內容如下
第一步添加程引用: 右鍵項目工程 — 管理 NuGet程序包 — 搜索 NOPI — 安裝
對文件Excel進行操作
讀取excel文件
private IWorkbook wk; ? private FileStream fs;? private void OpenExcel(string path) ? ? ? ? { ? ? ? ? ? ? StringBuilder sbr = new StringBuilder(); ? ? ? ? ? ? try ? ? ? ? ? ? { ? ? ? ? ? ? ? ? using (fs = File.OpenRead(path)) ? //打開myxls.xls文件 ? ? ? ? ? ? ? ? { ? ? ? ? ? ? ? ? ? ? wk = new XSSFWorkbook(fs); ? //把xls文件中的數(shù)據(jù)寫入wk中 ? ? ? ? ? ? ? ? ? ? ? for (int i = 0; i < wk.NumberOfSheets; i++) ?//NumberOfSheets是myxls.xls中總共的表數(shù) ? ? ? ? ? ? ? ? ? ? { ? ? ? ? ? ? ? ? ? ? ? ? ISheet sheet = wk.GetSheetAt(i); ? //讀取當前表數(shù)據(jù) ? ? ? ? ? ? ? ? ? ? ? ? ? for (int j = 0; j <= sheet.LastRowNum; j++) ?//LastRowNum 是當前表的總行數(shù) ? ? ? ? ? ? ? ? ? ? ? ? { ? ? ? ? ? ? ? ? ? ? ? ? ? ? IRow row = sheet.GetRow(j); ?//讀取當前行數(shù)據(jù) ? ? ? ? ? ? ? ? ? ? ? ? ? ? if (row != null) ? ? ? ? ? ? ? ? ? ? ? ? ? ? { ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? sbr.Append("-------------------------------------\r\n"); //讀取行與行之間的提示界限 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? for (int k = 0; k <= row.LastCellNum; k++) ?//LastCellNum 是當前行的總列數(shù) ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? { ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ICell cell = row.GetCell(k); ?//當前表格 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? if (cell != null) ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? { ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? sbr.Append(cell.ToString()); ? //獲取表格中的數(shù)據(jù)并轉換為字符串類型 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? } ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? } ? ? ? ? ? ? ? ? ? ? ? ? ? ? } ? ? ? ? ? ? ? ? ? ? ? ? } ? ? ? ? ? ? ? ? ? ? } ? ? ? ? ? ? ? ? } ? ? ? ? ? ? } ? ? ? ? ? ? catch (Exception) ? ? ? ? ? ? { ? ? ? ? ? ? ? ? MessageBox.Show("文件被其他應用打開,請關閉對該文件的引用?。?!"); ? ? ? ? ? ? } ? ? ? ? }
修改 寫入
private void SetCellValue(ISheet sheet,int row,int column,String value) ?{ ? ? ? ? ? ? ICell tmpCell = sheet.GetRow(row).GetCell(column); ? ? ? ? ? ? tmpCell.SetCellValue(value); }
保存
private void SaveExcel(String path) { ? ? ? ? ? ? //把編輯過后的工作薄重新保存為excel文件 ? ? ? ? ? ? FileStream fs2 = File.Create(path); ? ? ? ? ? ? wk.Write(fs2); ? ? ? ? ? ? fs2.Close(); ? ? ? ? ? ? MessageBox.Show("文件修改成功?。?!"); ?}
以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。
相關文章
c# winform讀取xml文件創(chuàng)建菜單的代碼
動態(tài)創(chuàng)建菜單使得程序靈活性大大增加,本文根據(jù)讀取xml文件中的配置菜單項來動態(tài)創(chuàng)建菜單,代碼如下2013-09-09C#使用Data?Annotations進行手動數(shù)據(jù)驗證
這篇文章介紹了C#使用Data?Annotations進行手動數(shù)據(jù)驗證的方法,文中通過示例代碼介紹的非常詳細。對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下2022-06-06C#窗體-數(shù)據(jù)庫連接及登錄功能的實現(xiàn)案例
這篇文章主要介紹了C#窗體-數(shù)據(jù)庫連接及登錄功能的實現(xiàn)案例,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-12-12C# winform實現(xiàn)右下角彈出窗口結果的方法
這篇文章主要介紹了C# winform實現(xiàn)右下角彈出窗口結果的方法,結合實例形式分析了C#窗口操作的相關技巧,需要的朋友可以參考下2017-06-06