1commenclassusing
system;
2using
system.collections.generic;
3using
system.linq;
4using
system.text;
5using
npoi.ss.usermodel;
6using
npoi.xssf.usermodel;
7using
npoi.hssf.usermodel;
8using
system.io;
9using
system.data;
10using
npoi.ss.util;
1112
namespace
common
1326
///27
///生成sheet物件
28///
29///
匯出excel檔案完整檔名
30///
要匯入的excel的sheet的名稱
31///
32public isheet generatesheet(string
sheetname)
3345
return
sheet;46}
47///
48///
將datatable資料匯入到excel中
49///
50///
所要操作excel的sheet物件
51///
要匯入的資料
52///
資料起始行索引
53///
匯入資料行數(包含列名那一行)
54public
int datatabletoexcel(isheet sheet, datatable data, int
datarowstart)
5569 ++datarowstart;70}
71 workbook.write(fs); //
寫入到excel72}
73return
datarowstart;74}
75catch
(exception ex)
7680}81
82///
83///
將excel中的資料匯入到datatable中
84///
85///
excel工作薄sheet的名稱
86///
資料起始行索引
87///
返回的datatable
88public datatable exceltodatatable(datatable tablemodel, string sheetname, int
datarowstart)
89107
}108
else
109112
if (sheet != null
)113
129data.rows.add(datarow);
130}
131}
132133
return
data;
134}
135catch
(exception ex)
136140
}141
///142
///設定表頭(支援單元格合併)
143///
144///
要合併單元格所在的sheet
145///
需要進行單元格合併的單元格索引陣列,陣列長度為4,第乙個為行起始位置,第二個為行結束為止,第三個為列起始位置,第四個為列結束為止
146///
單元格合併後值的集合,與合併單元格索引陣列集合一一對應
147//
public void setcellrangeaddress(isheet sheet, int rowstart, int rowend, int colstart, int colend, string value)
148public
void setexcelheader(isheet sheet, ilist mergearraylist, ilistvaluelist)
149156
int rowstart = mergearraylist[m][0
];157
int rowend = mergearraylist[m][1
];158
int colstart = mergearraylist[m][2
];159
int colend = mergearraylist[m][3
];160
string value = ""
;161
if (m
162165 icellstyle style =workbook.createcellstyle();
166 style.alignment =horizontalalignment.center;
167 ifont font =workbook.createfont();
168 font.boldweight = 700
;169 font.fontheight = 20 * 20
;170
style.setfont(font);
171for (int i = rowstart; i < rowend + 1; i++)
172178
for (int j = colstart; j < colend + 1; j++)
179184
}185
if (rowend - rowstart > 0 || colend - colstart > 0
)186
190}
191//
workbook.write(fs);
192}
193194
public
void
dispose()
195199
200protected
virtual
void dispose(bool
disposing)
201209
210 fs = null
;211 disposed = true
;212
}213
}214
}215 }
使用NPOI進行Excel操作
一 npoi元件匯入 右鍵專案選單,管理nuget程式包 安裝完成後專案引用會出現以下幾項 二 基礎使用 新增引用 using npoi.hpsf using npoi.hssf.usermodel using npoi.ss.usermodel excel操作開始 hssfworkbook hss...
POI操作EXCEL03前後版本不相容問題解決
開發程式遇到讀取excel時,03前後的版本不相容,如下 workbook sheet row cell等為介面 hssfworkbook hssfsheet hssfrow hssfcell為97 2003版本對應的處理實現類 xssfworkbook xssfsheet xssfrow xssf...
NPOI操作Excel 一 NPOI基礎
用c 讀取excel的方法有很多中,由於近期工作需要,需要解析的excel含有合併單元格以及背景色等特殊要求,故在網上查了一些關於讀excel的方法的優缺點,覺得npoi能滿足我的需要,所以搜尋了一些資料做了一些測試,下面有些內容有些是 於別人的部落格,都備有出處,只是想把一些覺得對自己有用的記錄一...