asp.net Dataset多个表导入到Excel里 Dataset里有个多个表。想把dataset所有表的数据导入一个excel文件里(一个或多个sheet都可以。)呵呵 一定是asp.net c#(bs)因为form我会写。 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 在DCOM组件服务中给MICROSOFT.EXCEL组件赋予ASP.NET的操作权限,具体步骤:(1)打开开始菜单的运行对话框,输入dcomcnfg命令,确定,这时会弹出组件服务窗口(2)展开计算机-〉我的电脑-〉DCOM配置,找到Microsoft Excel应用程序节点,单击右键-〉属性(3)点击"标识"标签,选择"交互式用户"(4)选中“安全”选项,在下面三个项目都选择“自定义”,并单击编辑按钮(5)在启动权限对话框中点击添加按钮,添加相应的用户(注意:如果是WIN2000,XP,则添加“ASPNET”用户,如果是WIN2003,则添加“NETWORK Service”用户),并赋予本地的所有权限 ,访问权限和配置权限和前面一样添加ASPNET用户。上面设置好后,就可全用 Microsoft.Office.Interop.Excel.Application excelApp = new Microsoft.Office.Interop.Excel.Application();其它的跟winform操作一样了 2种方法都写到例子中了,看后面的方法http://dotnet.aspx.cc/file/Export-Gridview-To-Excel-With-Multi-Sheet.aspx 孟兄我把代码改成这样。dataset 添加数据表DataSet myds = new DataSet(); DataTable dt = new DataTable(); DataTable dt1 = new DataTable(); myds.Tables.Add(dt); myds.Tables.Add(dt1);过程省略。//遍历dataset里的datatable for (int i = 0; i < myds.Tables.Count; i++) { Response.Write("<Worksheet ss:Name='Sheet" + (i + 1) + "'>"); Response.Write("<Table x:FullColumns='1' x:FullRows='1'>"); //输出标题 Response.Write("\r\n<Row ss:AutoFitHeight='1'>"); for (int j = 0; j < myds.Tables[i].Columns.Count; j++) { Response.Write("<Cell ss:StyleID='Header'><Data ss:Type='String'>" + myds.Tables[i].Columns[j].ColumnName + "</Data></Cell>"); } Response.Write("\r\n</Row>"); for (int j = 0; j < myds.Tables[i].Rows.Count; j++) { Response.Write("<Row>"); for (int c = 0; c < 6; c++) { //对于数字,采用Number数字类型 if (c > 1) { Response.Write("<Cell ss:StyleID='border'><Data ss:Type='Number'>" + myds.Tables[i].Rows[j][c].ToString() + "</Data></Cell>"); } else { Response.Write("<Cell ss:StyleID='border'><Data ss:Type='String'>" + myds.Tables[i].Rows[j][c].ToString() + "</Data></Cell>"); } } Response.Write("</Row>"); } Response.Write("</Table>"); Response.Write("</Worksheet>"); Response.Flush(); } Response.Write("</Workbook>"); Response.End(); 一个数据字段存多个值,并遍历取出C# .net 关于JS 中数组问题 用程序如何访问Windows Server 2003中具有访问权限的共享文件 datagrid的几个简单问题 在应用程序级别以外使用的节错误 网站的主页实现过程 如何在TextBox下输入完敲回车引发特定的按扭事件!先谢谢各位了! 高手请进:如何对备注型字段进行操作? 关于GridView的问题 这个问题题目怎么说呢?还是近来看吧,解决送分^_^ 如何将封闭在类中的方法返回的DropDownList赋值到页面上的DropDownList控件上? 省市三级联动菜单怎么把所选的项写入数据库?
上面设置好后,就可全用 Microsoft.Office.Interop.Excel.Application excelApp = new Microsoft.Office.Interop.Excel.Application();
其它的跟winform操作一样了
DataSet myds = new DataSet();
DataTable dt = new DataTable();
DataTable dt1 = new DataTable();
myds.Tables.Add(dt);
myds.Tables.Add(dt1);
过程省略。
//遍历dataset里的datatable
for (int i = 0; i < myds.Tables.Count; i++)
{
Response.Write("<Worksheet ss:Name='Sheet" + (i + 1) + "'>");
Response.Write("<Table x:FullColumns='1' x:FullRows='1'>"); //输出标题
Response.Write("\r\n<Row ss:AutoFitHeight='1'>");
for (int j = 0; j < myds.Tables[i].Columns.Count; j++)
{
Response.Write("<Cell ss:StyleID='Header'><Data ss:Type='String'>" + myds.Tables[i].Columns[j].ColumnName + "</Data></Cell>");
}
Response.Write("\r\n</Row>"); for (int j = 0; j < myds.Tables[i].Rows.Count; j++)
{
Response.Write("<Row>");
for (int c = 0; c < 6; c++)
{
//对于数字,采用Number数字类型
if (c > 1)
{
Response.Write("<Cell ss:StyleID='border'><Data ss:Type='Number'>" + myds.Tables[i].Rows[j][c].ToString() + "</Data></Cell>");
}
else
{
Response.Write("<Cell ss:StyleID='border'><Data ss:Type='String'>" + myds.Tables[i].Rows[j][c].ToString() + "</Data></Cell>");
}
}
Response.Write("</Row>");
}
Response.Write("</Table>");
Response.Write("</Worksheet>");
Response.Flush();
}
Response.Write("</Workbook>");
Response.End();