NPOI獲取Excel單元格自定義度分秒格式的值

最近項目需要導入幾十年的Excel報表,還是使用自己熟悉的NPOI開源插件,我覺得它操作Excel的功能還是挺強大的!

但是最近遇到一個問題,單元格的座標設置了自定義格式度分秒(###º##.###'),嘗試了很多方法都是獲取到一個整數,沒法轉換正確的座標。

經過了兩天的折騰,終於在微的搜索搜到了答案(stackoverflow),下面是我的測試代碼:

protected void Button2_Click(object sender, EventArgs e)
{
    string path = Server.MapPath("~\\Public\\test1.xls");
    if (System.IO.File.Exists(path)) //判斷文件是否存在
    {
        FileStream fs = File.OpenRead(path);
        IWorkbook hssfworkbook;
        try
        {
            hssfworkbook = new HSSFWorkbook(fs);
            ISheet sheet = hssfworkbook.GetSheetAt(0);//讀取第一個sheet
            IEnumerator rows = sheet.GetRowEnumerator();
            //得到Excel工作表的行 
            IRow headerRow = sheet.GetRow(0);
            ICell cell = headerRow.GetCell(0);
            string formatString = cell.CellStyle.GetDataFormatString();
            string value = cell.NumericCellValue.ToString(formatString);
        }
        catch
        {
        }
        fs.Close();
        fs.Dispose();
    }
}

 

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