C 使用 NPOI 庫讀寫 Excel 檔案

2022-09-16 10:57:09 字數 3132 閱讀 7915

public

class

excelhelper

);file = filearr[0] + datetime.now.tostring("

yyyymmddhhmmss

") + "

." + filearr[1

]; iworkbook workbook;

string fileext =path.getextension(file).tolower();

if (fileext == "

.xlsx

") else

if (fileext == "

.xls

") else

if (workbook == null)

isheet sheet = string.isnullorempty(dt.tablename) ? workbook.createsheet("

sheet1

") : workbook.createsheet(dt.tablename);

//設定列寬

15 * 256);

15 * 256);

15 * 256);

15 * 256);

15 * 256);

25 * 256);

25 * 256);

30 * 256);

15 * 256);

15 * 256);

15 * 256);

15 * 256);

//for (int i = 0; i < dt.rows.count; i++)

//

//表頭

irow row = sheet.createrow(0

);

for (int i = 0; i < dt.columns.count - 1; i++)

//資料

for (int i = 0; i < dt.rows.count; i++)

}//轉為位元組陣列

memorystream stream = new

memorystream();

workbook.write(stream);

var buf =stream.toarray();

//如找不到資料夾則建立

if (!directory.exists(route))

//儲存為excel檔案

excel匯入成datable

/// ///

匯入路徑(包含檔名與副檔名)

///public

static datatable exceltotable(string

file)

else

if (fileext == "

.xls

") else

if (workbook == null)

isheet sheet = workbook.getsheetat(0

);

//表頭

irow header =sheet.getrow(sheet.firstrownum);

list

columns = new list();

for (int i = 0; i < header.lastcellnum; i++)

else

dt.columns.add(

newdatacolumn(obj.tostring()));

columns.add(i);

}//資料

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

}if(hasvalue)}}

return

dt; }

//////

獲取單元格型別(xlsx)

/// ///

///private

static

object

getvaluetypeforxlsx(xssfcell cell)

}}

C 使用NPOI 匯出Excel

npoi可以在沒有安裝office的情況下對word或excel文件進行讀寫操作 下面介紹下npoi操作excel的方法 這裡使用的是net4.0 將下面幾個dll新增到專案中並引用 廢話不多說 上 create 2016 11 30 by sly 要匯入的資料 datatable的列名是否要匯入 ...

C 使用NPOI匯出Excel

當記錄數超出65536時,有兩種方式處理 一是呼叫writetodownload65536方法建立多個excel。二是呼叫writetodownload方法 在同乙個excel中建多個sheet。若在同一excel中建多個sheet,若記錄數達數十萬,會導致位元組流溢位的問題,解決辦法是先獲取mem...

NPOI對excel的讀寫操作

filestream stream new filestream c documents and settings administrator 桌面 2.xls filemode.openorcreate,fileaccess.readwrite hssfworkbook workbook new ...