C# asp.net 导出excel 怎样用asp.net创建复杂的报表,并将其导成excel;需要源码! 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 在怎么复杂的报表,都能用Repeater的模板列给做出来,你什么样的表格只有你自己知道,自己通过Repeater的模板列做吧。导出Excel,这有段js代码,可供参考:<script type="text/javascript"> //导出Excel function AllAreaExcel(objtableid) { var oXL = new ActiveXObject("Excel.Application"); var oWB = oXL.Workbooks.Add(); var oSheet = oWB.ActiveSheet; var sel = document.body.createTextRange(); sel.moveToElementText(document.getElementById(objtableid)); sel.select(); sel.execCommand("Copy"); oSheet.Paste(); oXL.Visible = true; } </script> <table width="1700" id="table" border="0" cellspacing="0" cellpadding="0" style="text-align: center;table-layout: fixed;"><asp:Repeater ...> //你报表的主体部分在这里写</asp:Repeater> </table><div style="text-align: left"> <img src="images/dcexcel.gif" onclick='AllAreaExcel("table");' alt="导出到Execl" style="cursor: hand;" /> </div>上面注意 <table id="table" ...> 中的id要和 导出按钮AllAreaExcel("table")一致。 楼上的是不是用了什么ocx插件啊。这种方式我很不喜欢。 前几天也在关于怎么导出excel 哎 感觉好的方法难找啊 NPOI 导出 google里搜NPOI 用起来还不错。。 不清楚你要做成什么样的。我原先做过3个表的数据分析加透视图。我是采用先做好EXCEL模板再填充数据这种方式 如何导入数据至Excel文件 C#.net不管excel多复杂,只要思路清晰都可以搞定,这篇博客整理了导出办法,还有设置excel样式的办法,还有一些常见的调试中遇到的bug的解决方法。 正在找关于导出到Excel文件和打印等的问题,所以来看看,有没有什么好的解决方法啊。 http://dotnet.aspx.cc/file/Export-Gridview-To-Excel-With-Multi-Sheet.aspx这个感觉不错。不需要考虑 服务器的office安装与否感觉比较好 private void Button4_Click(object sender, System.EventArgs e) { string searchcon=SearchStr_Excel(); SqlConnection con = new SqlConnection(ConnectionString); SqlDataAdapter adapter=new SqlDataAdapter(searchcon ,ConnectionString+ ";Connect Timeout=3000"); DataTable pDataTable=new DataTable(); adapter.Fill(pDataTable); int tRowCount = pDataTable.Rows.Count; int tColumnCount = pDataTable.Columns.Count; Response.Expires = 0; Response.Clear(); Response.Buffer = true; Response.Charset = "utf-8"; Response.ContentEncoding = System.Text.Encoding.UTF8; Response.ContentType = "application/vnd.ms-excel"; Response.AddHeader("Content-Disposition", "attachment; filename=Excel.xls"); Response.Write("<meta http-equiv=Content-Type content=text/html;charset=utf-8>"); // Response.Write("<style type=\"text/css\">.format{mso-number-format:\'\@\';}<\style>"); Response.Write("<Table borderColor=black border=1>"); Response.Write("\n <TR>"); for (int i = 0; i < tColumnCount; i++) { Response.Write("\n <TD bgcolor = #fff8dc>"); Response.Write(pDataTable.Columns[i].ColumnName); Response.Write("\n </TD>"); } Response.Write("\n </TR>"); for (int j = 0; j < tRowCount; j++) { Response.Write("\n <TR>"); for (int k = 0; k < tColumnCount; k++) { // if (k==0)// {// Response.Write("\n<TD style='mso-number-format:\"@\">"); // }// else Response.Write("\n <TD align=\"right\" style='vnd.ms-excel.numberformat:@'>"); Response.Write(pDataTable.Rows[j][k].ToString()); Response.Write("\n </TD>"); } Response.Write("\n </TR>"); } Response.Write("</Table>"); Response.End(); } 求解:WinForm应用程序,DataSet里的更新无法保存至本地数据库mdf文件 如何将空格替换为逗号 窗口全屏和按钮灰色问题. 请问:关于数据库连接字符串的区别 nunit在release中的问题? 如何实现两个窗体同时显示输入的字符 二级联动下拉框连接数据库问题 VS2005 页面调用Cs类的问题,急啊!!!!! c# 程序中,如何把文档打印到特定的打印机上? c# 文件夹遍历 问题. 关于C# 几个提升进程权限的疑惑 请问如何让文字光标自动移动到某个地方啊?
<script type="text/javascript">
//导出Excel
function AllAreaExcel(objtableid) {
var oXL = new ActiveXObject("Excel.Application");
var oWB = oXL.Workbooks.Add();
var oSheet = oWB.ActiveSheet;
var sel = document.body.createTextRange();
sel.moveToElementText(document.getElementById(objtableid));
sel.select();
sel.execCommand("Copy");
oSheet.Paste();
oXL.Visible = true;
}
</script> <table width="1700" id="table" border="0" cellspacing="0" cellpadding="0" style="text-align: center;table-layout: fixed;">
<asp:Repeater ...>
//你报表的主体部分在这里写
</asp:Repeater>
</table>
<div style="text-align: left">
<img src="images/dcexcel.gif" onclick='AllAreaExcel("table");' alt="导出到Execl" style="cursor: hand;" />
</div>上面注意 <table id="table" ...> 中的id要和 导出按钮AllAreaExcel("table")一致。
这个感觉不错。不需要考虑 服务器的office安装与否
感觉比较好
{ string searchcon=SearchStr_Excel();
SqlConnection con = new SqlConnection(ConnectionString);
SqlDataAdapter adapter=new SqlDataAdapter(searchcon ,ConnectionString+ ";Connect Timeout=3000");
DataTable pDataTable=new DataTable();
adapter.Fill(pDataTable);
int tRowCount = pDataTable.Rows.Count;
int tColumnCount = pDataTable.Columns.Count;
Response.Expires = 0;
Response.Clear();
Response.Buffer = true;
Response.Charset = "utf-8";
Response.ContentEncoding = System.Text.Encoding.UTF8;
Response.ContentType = "application/vnd.ms-excel";
Response.AddHeader("Content-Disposition", "attachment; filename=Excel.xls");
Response.Write("<meta http-equiv=Content-Type content=text/html;charset=utf-8>");
// Response.Write("<style type=\"text/css\">.format{mso-number-format:\'\@\';}<\style>");
Response.Write("<Table borderColor=black border=1>");
Response.Write("\n <TR>");
for (int i = 0; i < tColumnCount; i++)
{
Response.Write("\n <TD bgcolor = #fff8dc>");
Response.Write(pDataTable.Columns[i].ColumnName);
Response.Write("\n </TD>");
}
Response.Write("\n </TR>");
for (int j = 0; j < tRowCount; j++)
{
Response.Write("\n <TR>");
for (int k = 0; k < tColumnCount; k++)
{
// if (k==0)
// {
// Response.Write("\n<TD style='mso-number-format:\"@\">");
// }
// else
Response.Write("\n <TD align=\"right\" style='vnd.ms-excel.numberformat:@'>"); Response.Write(pDataTable.Rows[j][k].ToString()); Response.Write("\n </TD>");
}
Response.Write("\n </TR>");
}
Response.Write("</Table>");
Response.End(); }