改進的一個EXCEL類,可以讀取EXCEL,也可以將內容匯出到EXCEL.操作多個SHEET比較方便.
而且無須安裝任何EXCEL.
1.讀取.
讀取
public void Read(string FileName)
{
AppLibrary.ReadExcel.Workbook workbook = null;
workbook = AppLibrary.ReadExcel.Workbook.getWorkbook(FileName);
int k = 0;
System.Text.StringBuilder sb = new System.Text.StringBuilder();
foreach (AppLibrary.ReadExcel.Sheet sheet in workbook.Sheets)
{
k++;
sb.Append("當前為第" + k + "個Sheet<br/><br/>");
sb.Append("<table class='scroll' cellpadding=0 cellspacing=0>");
for (int iRow = 0; iRow < sheet.Rows; iRow++)
{
sb.Append("<tr>");
sb.Append("<td>");
sb.Append("當前為第" + (iRow + 1) + "行");
sb.Append("</td>");
for (int iCol = 0; iCol < sheet.Columns; iCol++)
{
AppLibrary.ReadExcel.Cell cell = sheet.getCell(iCol, iRow);
object val = cell.Value;
string cellValue = (val != null) ? val.ToString() : "";
sb.Append("<td>");
sb.Append(cellValue);
sb.Append("</td>");
}
sb.Append("</tr>");
}
sb.Append("</table><br/><br/>");
}
Response.Write(sb.ToString());
}
讀取的EXCEL:
讀取後:
匯出:
匯出
public void ToExcel()
{
AppLibrary.WriteExcel.XlsDocument doc = new AppLibrary.WriteExcel.XlsDocument();
doc.FileName = "Report.xls";
string SheetName = string.Empty;
//記錄條數
int mCount = 55;
//每個SHEET的數量
int inv = 10;
//計算當前多少個SHEET
int k = Convert.ToInt32(Math.Round(Convert.ToDouble(mCount / inv))) + 1;
for (int i = 0; i < k; i++)
{
SheetName = "當前是SHEET" + i.ToString();
AppLibrary.WriteExcel.Worksheet sheet = doc.Workbook.Worksheets.Add(SheetName);
AppLibrary.WriteExcel.Cells cells = sheet.Cells;
//第一行表頭
cells.Add(1, 1, "序號");
cells.Add(1, 2, "准考證號");
cells.Add(1, 3, "考生姓名");
cells.Add(1, 4, "性別");
cells.Add(1, 5, "報考專業");
int f = 1;
for (int m = i * inv; m < mCount && m < (i + 1) * inv; m++)
{
f++;
cells.Add(f, 1, f - 1);
cells.Add(f, 2, f);
cells.Add(f, 3, "woody.wu");
cells.Add(f, 4, "男");
cells.Add(f, 5, "經濟學");
}
}
doc.Send();
Response.Flush();
Response.End();
}
示範代碼
類庫源碼