NPOI Json檔案解析Excel

2022-02-11 21:19:05 字數 2210 閱讀 2594

記點筆記,加深印象!最近有個匯入excel工能需要完成,excel列名是中文的,匯入excel我用的npoi外掛程式,如果不對excel做解析,列名有可能會給我帶來一些字元方面的麻煩,於是想到了乙個比較low的辦法,做乙個json配置檔案,對應我的excel列頭,然後讀取excel時與json檔案匹配,同時需要校驗excel資料是否合法,建立datatable。主要**如下:

1.json檔案:

[

, ,,,

,,,]

}]

2.接受json檔案類:

public

class

sheets

public

string cnname

public listcolumns

}public

class

column

public

string cnname

public

string regex

public

string errormsg

}

3.具體解析excel函式

public

static datatable readexceltodatatables2(string mapjsonpath, string excelpath,out

string

msg)

catch

(exception)

if (book != null

)

else

tables = new

datatable[sheetcount];

datatable dt = null

;

for (int sheetindex = 0; sheetindex < sheetcount; sheetindex++)

else

if (sheet == null) continue

; npoi.ss.usermodel.irow row = sheet.getrow(0

);

if (row == null) continue

;

int firstcellnum =row.firstcellnum;

int lastcellnum =row.lastcellnum;

if (firstcellnum == lastcellnum) continue

;

string tempsheetname =sheet.sheetname;

string sheetname = listsheet.find(p => p.cnname ==tempsheetname).name;

dt = new

datatable(sheetname);

for (int i = firstcellnum; i < lastcellnum; i++)

for (int i = 1; i <= sheet.lastrownum; i++)

else

}string errormsg =listsheet[sheetindex].columns[j].errormsg;

if (!string

.isnullorempty(errormsg))

個sheet的第行,第列,資料錯誤:\r\n

", sheetindex + 1, i, j+1

, errormsg);

continue

; }

}

}datarow[j] =cellvalue; }}

if (!string

.isnullorempty(msg));}

tables[sheetindex] =dt;}}

}catch

(exception e)

return

tables;

}}

Python實現讀取json檔案到excel表

一 需求 1 score.json 檔案內容 2 讀取json檔案儲存到資料庫,並計算出每個人的總分程式設計客棧和平均分 二 實現 import json,xlwt def read score jsonfile with open jsonfile,encoding utf 8 as f 將jso...

C 建立Excel檔案並將資料匯出到Excel檔案

工具原料 windows 7,visual studio 2010,microsoft office 2007 建立解決方案 選單 新建 專案 windows窗體應用程式 新增兩個datagridview,乙個textbox,兩個按鈕 如下圖 新增excel資源 c 建立excel檔案,這裡實際上是...

解析xml檔案(DOM解析)

解析的檔案 醫院心電圖記錄單 門診號 1002080066 住院號 201800964 姓名 羅2 性別 女 年齡 26歲 心檢號 科室 婦產科 床號 9 複查時註明原心檢號 韻律 竇律 心房率 82 心室率 82 軸向 電軸正常 pr間期 0.13 qrs波 0.08 qt間期 0.34 正常心電...