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

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > C# >内容正文

C#

C#操作NPOI插件的HSSFWorkBook,常见的那些坑

發布時間:2025/4/16 C# 14 豆豆
生活随笔 收集整理的這篇文章主要介紹了 C#操作NPOI插件的HSSFWorkBook,常见的那些坑 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

  使用HSSFWorkBook類實例化時,經常會遇到一個問題:HSSFWorkBook.isReadOnly。

  HSSFWorkBook.isReadOnly,貌似是異常,但它又不影響你正常導出Excel模板,但是必須注意的是,Excel模板的后綴名要為.xls,如果是.xlsx,那么就會出現打開文件錯誤,其實是Excel版本的兼容性問題。

  有時候HSSFRow sheetRow = (HSSFRow)sheet.CreateRow(index);創建新的row,接著使用sheetRow.CreateCell(2).SetCellValue(new HSSFRichTextString("字符串"));給每個cell賦值時,有可能遇到一個問題:

for (int i=0; i<ts.Days; i++){HSSFRow sheetRow = (HSSFRow)sheet.CreateRow(4+i);sheetRow.CreateCell(0).SetCellValue(new HSSFRichTextString(startDate.AddDays(i).ToString("yyyy-MM-dd")));//日期:2018-01-01sheetRow.CreateCell(1).SetCellValue(new HSSFRichTextString(startDate.AddDays(i).ToString("dddd")));//周一、周二......//必須添加上"",如果沒有給空字符串,該cell為null,上傳模板的時候,Cells的個數會根據user是否輸入數據而有所改變sheetRow.CreateCell(2).SetCellValue(new HSSFRichTextString(""));sheetRow.CreateCell(3).SetCellValue(new HSSFRichTextString(""));sheetRow.CreateCell(4).SetCellValue(new HSSFRichTextString(""));}

?注意,代碼里頭有3個cell的值設置為"",如果不設置,那么這3個cell根本就是null,再者,當用戶把這個模板下載下來,有些cell輸入值,有些cell沒有輸入,如:

test1test2test3test4test5
?test2?test4?
??test3??
test1???test5
?????

那么在讀取數據的時候,第一行的Cells.Count==5,第二、四行的Cells.Count==2,第三行的Cells.Count==1,第五行的Cells.Count==0。如果像代碼里面設置空字符串,就不管后續用戶有沒有輸入新數據,都可以確保取到相關位置的值,不會出現out?of?range的異常。

  使用GetCell(index)方法精確找位:

  有時候你需要將上傳的excel表格的值顯示在客戶端,同時還要根據某幾個cell值是否為空值,或者null來進行剔除,如果真出現不定量的值為null的Cell個數,顯然用Cells[index]是不行的,上面提及到,Cells.Count不統計null的Cell格子,譬如對于上圖的第二行,Cells[0]的值可能就是test2,如何精確找到對應Cell的位置呢?為了應對此情況,NPOI還提供了一個方法來精確尋找Cell格子,就是GetCell(index)。那么通過GetCell(index)可以精確找到相應位置,進而可以判斷是否為空,是否為null,然后進行篩選,賦值等操作。

  使用StringCellValue方法,通常我們想要取出某個cell的值,可能會使用:

?

string resGp = sheet.GetRow(0).Cells[1].StringCellValue; //但如果,sheet.GetRow(0).Cells[1]的值是一個數值, //這里不是說數據類型,是形式上就是阿拉伯數字, //那么調用StringCellValue就會拋出異常 //不調用StringCellValue,其效果一樣,而且解決值為阿拉伯數字的情況 string resGp = sheet.GetRow(0).Cells[1];
//上面一句雖然避免了異常問題,但是,如果想獲取阿拉伯數值的數據,那就使用ToString()
string resGp = sheet.GetRow(0).Cells[1].ToString();

?

轉載于:https://www.cnblogs.com/SysoCjs/p/9789791.html

總結

以上是生活随笔為你收集整理的C#操作NPOI插件的HSSFWorkBook,常见的那些坑的全部內容,希望文章能夠幫你解決所遇到的問題。

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

主站蜘蛛池模板: 久久精品视频免费观看 | 最新91在线 | 五月av在线 | 日日日日日日 | 亚洲国产色图 | 丝袜ol美脚秘书在线播放 | 99国产精品久久久久久久成人 | 欧美日韩视频一区二区 | 梦梦电影免费高清在线观看 | 疯狂撞击丝袜人妻 | 亚洲成人黄色网址 | 综合色亚洲 | 日韩射吧 | www三级免费 | 欧美日免费 | 光溜溜视频素材大全美女 | 岛国大片在线免费观看 | 日韩在线一二三 | 裸体的日本在线观看 | 欧美一级射 | 九九热最新视频 | 色优久久 | 高h视频在线观看 | 久久久久看片 | 四虎影院在线视频 | 三级av片| 女同性做爰三级 | av中文字幕网址 | 91精品91久久久中77777 | 日韩av一区二区在线 | 国产一区日韩一区 | 国产精品亚洲一区二区三区在线观看 | 中国女人做爰视频 | 五月天综合久久 | 三级自拍视频 | 国产呦系列 | 日本美女日批视频 | 99re6在线观看 | 欧美激情图区 | 日少妇视频 | 国产一级视频在线观看 | 熟妇人妻va精品中文字幕 | 国产乱子一区二区 | 在线看片亚洲 | 亚洲爽妇网 | 91免费网址 | 九九久久网 | 亚洲一区二区三区四区在线播放 | 午夜精品在线 | 亚洲射吧| 综合久久久 | 国产精品久久久久久亚洲毛片 | 97理伦| 精品久久91 | 成人免费在线播放视频 | 三级福利 | 91成人小视频 | 国产精品视频网 | 久久你懂的| 日本黄色小说 | 91草草草| 澳门久久久| 91香蕉视频在线观看免费 | 欧美少妇xxxxx | 深夜成人福利视频 | 国产福利视频导航 | 国产精品v欧美精品v日韩精品 | 91成人免费在线观看视频 | 久久女同互慰一区二区三区 | 特级西西人体444www高清大胆 | 曰批又黄又爽免费视频 | 日本一本高清视频 | 韩国三级中文字幕hd浴缸戏 | 狠狠操女人 | 成人深夜网站 | 亚洲第一免费网站 | 国内自拍第一页 | 久久久久综合网 | 国产免费一区 | 特大黑人娇小亚洲女 | 日韩欧美综合视频 | 国产一区,二区 | 一级视频在线免费观看 | 天堂中文资源在线 | 亚洲av无码一区二区二三区 | 中文字幕av影片 | 成人免费av | 成人手机视频在线观看 | 国产情侣激情自拍 | 久草影视在线观看 | 国产精品二区一区二区aⅴ污介绍 | 日本少妇吞精囗交 | 精品一区二区三区入口 | 99热只有这里有精品 | 国产美女操 | 午夜精品久久久久久久无码 | 美女诱惑av | 欧美国产精品 | 中文字幕影片免费在线观看 |