C 使用NPOI 匯出Excel

2021-08-07 05:19:09 字數 3232 閱讀 1332

npoi可以在沒有安裝office的情況下對word或excel文件進行讀寫操作

下面介紹下npoi操作excel的方法

這裡使用的是net4.0

將下面幾個dll新增到專案中並引用

廢話不多說  上**

///

///create 2016-11-30 by sly

///

/// ///

要匯入的資料

///datatable的列名是否要匯入

///要匯入的excel的sheet的名稱

///要設定的寬度(key 列下標,val 寬度大小)

///public

int datatabletoexcel(datatable data, string sheetname, bool iscolumnwritten, dictionary widthdic = null

)

if (widthdic != null

) }}

else

if (iscolumnwritten == true) //

寫入datatable的列名

count = 1

; }

else

int outres = -1

;

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

else

else

}else}}

++count;

}workbook.write(file);

//寫入到excel

///將excel中的資料匯入到datatable中

/// ///

excel工作薄sheet的名稱

///第一行是否是datatable的列名

///public datatable exceltodatatable(string sheetname, bool

isfirstrowcolumn)

}else

if (sheet != null

) }}

startrow = sheet.firstrownum + 1

; }

else

//最後一列的標號

int rowcount =sheet.lastrownum;

for (int i = startrow; i <= rowcount; ++i)

data.rows.add(datarow);}}

return

data;

}catch

(exception ex)

}

///

///合併單元格

/// ///

要合併單元格所在的sheet

///開始行的索引

///結束行的索引

///開始列的索引

///結束列的索引

public

static

void setcellrangeaddress(isheet sheet, int rowstart, int rowend, int colstart, int

colend)

//

呼叫匯出方法

new helper.excelhelper("

匯出的檔名.xls

").datatabletoexcel(dt, "

sheet1

", true, null

);

new helper.excelhelper("

匯出的檔名.xlsx

").datatabletoexcel(dt, "

sheet1

", true, null);

下面是匯入

<

input

type

="file"

name

="filefield"

class

="file"

id="filefield"

value

="匯入"

style

="display: none;"

/>

<

script

>$("

#filefield

").live(

"change",

function

()

else

});}

})script

>

///

///匯入demo

/// ///

///public actionresult importgrade(string

filepath)

以上就是npoi的簡單使用方法

C 使用NPOI匯出Excel

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

C 使用NPOI的Excel匯出

前言 開發環境 vs2017 sqlserver 谷歌瀏覽器 正文1.在專案中引用npoi a.在neget裡搜尋npoi直接安裝 推薦 2.建立個類,內容如下 public byte createexcel datatable datatable,string name 輸入資料行 for int...

C ,使用NPOI,匯出excel檔案

匯出excel檔案 table表資料 存放路徑 string path system.environment.currentdirectory public void exportwps excel datatable dt,string path endregion region 資料填充 int...