不同的dataTable 分别导入到 Excel 的 不同Sheet 中
即 每个datatable 对应一个sheet!
谁能提供点关键代码或样例?
即 每个datatable 对应一个sheet!
谁能提供点关键代码或样例?
解决方案 »
- 请问如何将T转化为int或string
- ListView的ItemTemplate模板中的linkbutton的oncommand事件不起作用
- 请教ASP.NET网络路径问题
- LinkButton突然失效,高手指教!
- 如何在ListBox中绑定这样的商品分类??
- 在图表区发了50分贴子,竟然没有人顶!郁闷!
- 在应用Tree View控件时,webctrl_client文件夹是不是必须建立在wwwroot下????
- 学会了WEB service 是不是就可以进行发分布式编程了,就不用学什么DCOM,COM+ ,是吗???
- 在指定区域屏蔽鼠标左键 右键.js代码!急!!~
- 利用split分割后的数据重新插入到dataset后,如何用aspnetpager分页?
- 模版页的问题
- studio 2003中使用 DataList控件的编辑模板中放入Textbox控件,属性中没有text呢?
conn.Open();
DataTable schemaTable = conn.GetOleDbSchemaTable(System.Data.OleDb.OleDbSchemaGuid.Tables, null); //获取excel表中的工作簿信息表
try
{
//schemaTable.Rows.Count为excel中工作簿数目
for(int i=0; i<schemaTable.Rows.Count; i++)
{
//这里添加你要导入的代码
}
}
catch
{}
finally
{
conn.Close();
}
conn.Open();
DataTable schemaTable = conn.GetOleDbSchemaTable(System.Data.OleDb.OleDbSchemaGuid.Tables, null); //获取excel表中的工作簿信息表
try
{
//schemaTable.Rows.Count为excel中工作簿数目
for(int i=0; i<schemaTable.Rows.Count; i++)
{
DataTable dtTemp = new DataTable();
strSqlCommand = "SELECT * FROM ["+schemaTable.Rows[i]["TABLE_NAME"].ToString()+"]";
System.Data.OleDb.OleDbDataAdapter myCommand = new System.Data.OleDb.OleDbDataAdapter(strSqlCommand, conn);
myCommand.Fill(dtTemp);
dtTemp.Clear();
}
}
catch
{}
finally
{
conn.Close();
}这个之前写的读取EXCEL中多个工作簿记录的代码 应该差不多
Cells cells = sheets[0].Cells;
sheets[0].Name="employees";
int excelrow=0;
Range w;
//set title
byte col = 0;
cells.Merge(excelrow,col,1,7); cells[excelrow,col++].PutValue("Employee Management");
excelrow++;
//set col title
col=0;
cells[excelrow,col++].PutValue("EmpCode");
cells[excelrow,col++].PutValue("LocalName");
cells[excelrow,col++].PutValue("EngName");
cells[excelrow,col++].PutValue("DeptName");
cells[excelrow,col++].PutValue("NtID");
cells[excelrow,col++].PutValue("Job");
cells[excelrow,col++].PutValue("Address");
w=cells.CreateRange(excelrow-1,0,2,7);
w.Style=excel.Styles["Title"];
excelrow++; DataTable dt=(DataTable)(Session["EmpList"]);
if(dt==null) return;
foreach(DataRow dr in dt.Rows)
{
col=0;
cells[excelrow,col++].PutValue(dr["employeecode"].ToString());
cells[excelrow,col++].PutValue(dr["employeename"].ToString());
cells[excelrow,col++].PutValue(dr["eemployeename"].ToString());
cells[excelrow,col++].PutValue(dr["deptname"].ToString());
cells[excelrow,col++].PutValue(dr["ntid"].ToString());
cells[excelrow,col++].PutValue(dr["job"].ToString());
cells[excelrow,col++].PutValue(dr["address"].ToString());
excelrow++;
}
col=0; w=cells.CreateRange(2,col,excelrow,7);
w.Style=excel.Styles["Data"];
excel.Save("Employee Management.xls", SaveType.OpenInExcel, FileFormatType.Excel2000, Response);
我给你付一个比较简单的用法,有问题可以加我 msn : [email protected]