using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.IO;
using NPOI.HSSF.UserModel;
using NPOI.HPSF;
using NPOI.HSSF;
using NPOI.POIFS.FileSystem;
using System.Data;
using NPOI.SS.UserModel;

public partial class UploadExcelFileToData : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{

}
protected void Button1_Click(object sender, EventArgs e)
{

//將使用者上傳的檔案,放在d:\temp\upload\檔名.XLS
string savePath = @"d:\temp\upload\";
if (FileUpload1.HasFile)
{
string filename = FileUpload1.FileName;
savePath += filename;
FileUpload1.SaveAs(savePath);
Label1.Text = "上傳成功";

try
{

//建立HSSFWORKBOOK 活頁簿
HSSFWorkbook myWorkbook = new HSSFWorkbook(FileUpload1.FileContent);

//建立HSSFSHEET 工作表
ISheet mySheet = myWorkbook.GetSheetAt(0);

//建立DATATABLE
DataTable myDT = new DataTable();

//抓取MYSHEET工作表中的標題欄位,並存入DATATABLE
HSSFRow headerRow = mySheet.GetRow(0) as HSSFRow;
for (int i = headerRow.FirstCellNum; i < headerRow.LastCellNum; i++)
{
if (headerRow.GetCell(i) != null)
{
DataColumn myColumn = new DataColumn(headerRow.GetCell(i).StringCellValue);
myDT.Columns.Add(myColumn);

}

}

 

//抓取HSSFSHEET第一列以後的所有資料,並存入DATATABLE中

for (int i = mySheet.FirstRowNum + 1; i < mySheet.LastRowNum; i++)
{
HSSFRow row = mySheet.GetRow(i) as HSSFRow;
DataRow myRow = myDT.NewRow();
for (int j = row.FirstCellNum; j < row.LastCellNum; j++)
{
if (row.GetCell(j) != null)
{
myRow[j] = row.GetCell(j).ToString();
}
}
myDT.Rows.Add(myRow);
}

 

//釋放活頁簿、工作表資源

myWorkbook = null;
mySheet = null;
DataView myView = new DataView(myDT);
GridView1.DataSource = myDT;
GridView1.DataBind();


}
catch (Exception ex)
{

Response.Write("thie Error Message---" + ex.ToString());
}

}
else
{
Label1.Text = "請先挑選檔安之後,再來上傳";
}

}
}

arrow
arrow
    全站熱搜
    創作者介紹
    創作者 ylw1125 的頭像
    ylw1125

    程式搜集分享精靈

    ylw1125 發表在 痞客邦 留言(0) 人氣()