匯入
代碼
/**filePath: Excel路徑 sheetname:Excel底部的工作表 預設是Sheet1 每個工作表 當做一個表*/
public void ExcelDataSource(string filepath, string sheetname)
{
//HDR=YES 把第一行作為列名 Excel 類似當做一個資料庫一般
string strConn = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + filepath + ";Extended Properties='Excel 8.0;HDR=NO;IMEX=1;'";
OleDbConnection conn = new OleDbConnection(strConn);
conn.Open();
int count = 1;
OleDbCommand omd = conn.CreateCommand();
omd.CommandText = "select * from [" + sheetname + "$]";
omd.CommandType = CommandType.Text;
//操作此odr就行 或填充也行
OleDbDataReader odr = omd.ExecuteReader();
/**後面代碼 略**/
}
匯出
代碼
/**fileName:要匯出的Excel檔案名稱(自訂) ds:匯出的內容**/
public static void ExportDsToXls(Page page, string fileName, DataSet ds)
{
page.Response.Clear();
page.Response.Buffer = true;
page.Response.Charset = "UTF-8";
page.Response.AppendHeader("Content-Disposition", "attachment;filename=" + fileName + System.DateTime.Now.ToString("_yyMMdd_hhmm") + ".xls");
page.Response.ContentEncoding = System.Text.Encoding.GetEncoding("UTF-8");//設定輸出資料流為簡體中文
page.Response.ContentType = "application/ms-excel";//設定輸出檔案類型為excel檔案。
page.EnableViewState = false;
page.Response.Write(ExportTable(ds));
page.Response.End();
}
/**Excel匯出 可以當做HTML 來處理**/
public static string ExportTable(DataSet ds)
{
StringBuilder data =new StringBuilder();
//data = ds.DataSetName + "\n";
//防止出現中文亂碼
data.Append("<html><head><meta http-equiv=Content-Type content=\"text/html; charset=utf-8\">");
foreach (DataTable tb in ds.Tables)
{
data.Append("<table cellpadding='1' style='border-collapse:collapse;'>");
//寫出列名
data.Append("<tr>");
foreach (DataColumn column in tb.Columns)
{
data.Append("<td style='border:solid 1px black;text-align:center'><b>" + column.ColumnName + "</b></td>");
}
data.Append( "</tr>");
//寫出資料
foreach (DataRow row in tb.Rows)
{
data.Append( "<tr>");
foreach (DataColumn column in tb.Columns)
{
//列出 所有的列值 以下代碼按照自身需求而定
if (column.ColumnName == "No.")
data.Append("<td style='border:solid 1px #cccccc;text-align:center'>" + row[column].ToString() + "#</td>");
else
data.Append("<td style='border:solid 1px #cccccc;text-align:center'>" + row[column].ToString() + "</td>");
}
data.Append( "</tr>");
}
data.Append( "</table>");
}
data.Append("</body></html>");
return data.ToString();
}