C 讀取excel檔案,生成json

2021-08-08 03:39:43 字數 2335 閱讀 4832

這段時間在做乙個資料管理系統,需要讀取excel**,組裝json,最終存入mongodb,這裡記錄一下解決思路。

需要做的準備工作:

1.安裝accessdatabaseengine

有32bit和64bit兩個版本,具體要安裝哪個要看你的office程式是32bit的還是64bit的。通常來講,一般是選擇與office程式相對應的版本。但是如果你的專案必須在64位下執行,又不想大費周章刪了原有的office程式再重灌,這時候該咋辦呢?在網上找了很久,終於找到了辦法:

(2)等待安裝完成,檢視登錄檔hkey_local_machine\software\microsoft\office\14.0\common\filespaths,刪除mso.dll(此步驟一定要做,檢視登錄檔:開始-執行-regedit-回車)

2.引用newtonsoft.json.dll

準備工作做好後,就可以開始寫**了。

總共三個方法:根據excel檔案獲取所有sheet名稱,獲取每乙個sheet的內容組裝datatable,table轉excel

(1)根據excel檔案獲取所有sheet名稱

1

public list getexcelsheetnames(string

filepath)

2;extended properties='excel 12.0;hdr=yes;imex=2;'

", filepath);

8 connection = new

oledbconnection(connectionstring);

9connection.open();

10 dt = connection.getoledbschematable(oledbschemaguid.tables, null

);11

12if (dt == null)13

1617 string excelsheets = new

string[dt.rows.count];

18int i = 0;19

foreach (datarow row in

dt.rows)

2024

return

excelsheets.distinct().tolist();25}

26catch

(exception ex)

2730

finally

3137

if (dt != null)38

41}42 }

view code

(2)獲取每乙個sheet的內容組裝datatable

1

public datatable getexcelcontent(string filepath, string

sheetname)

2;extended properties='excel 12.0;hdr=no;imex=2;'

", filepath);

7 string commandstring = string.format("

select * from [$]

", sheetname);

8using (oledbconnection connection = new

oledbconnection(connectionstring))

923 table.rows.removeat(0

);24

return

table;25}

26}27 }

view code

(3)table轉excel

1

public

string exceltojson(string

filepath)216

table.add(row);17}

18json.add(tablename, table);

19});

20return

json.tostring();

21 }

view code

最終生成的是json物件,key是sheet名,value是json陣列,為每一張sheet的內容。

C 讀取excel檔案,生成json

這段時間在做乙個資料管理系統,需要讀取excel 組裝json,最終存入mongodb,這裡記錄一下解決思路。需要做的準備工作 1.安裝accessdatabaseengine 有32bit和64bit兩個版本,具體要安裝哪個要看你的office程式是32bit的還是64bit的。通常來講,一般是選...

php 讀取,生成excel檔案

1.讀取檔案的部分內容 用於固定格式 1 public function readexcel filename 16 return data 17 catch exception e 23 readexcel 注 預設從第一行開始,讀取a列和b列,以陣列的形式返回,但是可以自定義。傳入檔案路徑即可 ...

C 生成Excel檔案

1 首先需要 using system.runtime.interopservices using excel microsoft.office.interop.excel using microsoft.office.core 這三個命名空間,定義乙個excelmanager類檔案來管理excel...