epplus之值寫不進去解決方案

一、背景

今天在C#中使用epplus給excel表格寫入值時,發現其他行的值都可以正常寫入,但是有一行值不能寫入,並且這行如果之前有值,也會在保存excel之後,值被清空。

二、解決思路

將當前所引用的epplus組件升級爲最新的穩定版。
源代碼如下:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using OfficeOpenXml;
using System.IO;

namespace InsertValueIntoExcelWithEpplus
{
    class Program
    {
        static void Main(string[] args)
        {
            //Excel文件所在的地址
		    FileInfo fileInfo= new FileInfo(@"xxx.xlsx");
            using (ExcelPackage excelPackage= new ExcelPackage(fileInfo))
            {
                //指定需要寫入的sheet名
                ExcelWorksheet excelWorksheet= excelPackage.Workbook.Worksheets["sheet名字"];
                //比如修改第一行,第一列的值爲 0
                excelWorksheet.Cells[1, 1].Value = 0;
                //修改第一行,第二列的值爲 你好
                excelWorksheet.Cells[1, 2].Value = "你好";
                //然後保存即可
                excelPackage.Save();
            }
        }
    }
}

以前寫入都好好的,不知道這次爲什麼寫不進去。
解決方案:當前所用的epplus版本是4.5.3.1,刪除了epplus4.5.3.1,然後通過nuget安裝了最新的穩定版5.1.2.0,這個時候就可以正常寫入了。這應該是epplus4.5.3.1的一個bug,找了好久,通過換epplus版本才解決!

三、注意事項

1.當找不到程序的bug時,有可能是組件自身的bug,嘗試升級爲最新的組件,看能否解決問題,舉一反三。
2.大家好,我是黑夜の騎士,歡迎大家關注我的博客,筆者將持續輸出BIM相關軟件開發、移動互聯網開發以及遊戲編程乾貨;
3.歡迎加入BIM行業開發交流羣,獲取更多開發資料 羣號:711844216
4.歡迎加入U3D魔法師交流羣,共同學習進步,羣號:1105535938

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章