导入
代码
/**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();
/**后面代码 略**/
}
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();
}
/**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();
}