publicclass
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 ...