网站下载Excel,却在服务器打开了

我是隔壁老刘啊 2016-06-06 01:01:57
我想将数据库里面的某些内容从网站下载成Excel,保存在机器上。
结果将程序发布到服务器上之后发现客户端打开网站点击下载没有反应,服务器却打开了Excel,请问怎么解决。
ASP.NET
[WebMethod]
public static void XIAZAI2()
{
string str = "sql语句";
SqlConnection conbannerd = new SqlConnection(System.Configuration.ConfigurationManager.AppSettings["strcon"]);
SqlCommand combannerd = new SqlCommand();
combannerd.Connection = conbannerd;
combannerd.CommandText = str;
SqlDataAdapter da = new SqlDataAdapter(combannerd);
DataSet dts = new DataSet();
try
{
conbannerd.Open();//打开数据库
da.Fill(dts);

DataSetToExcel2(dts, true);

conbannerd.Close();//关闭数据库,一定要注意关闭
//SourceSize();

}
catch (Exception)
{
conbannerd.Close();//关闭数据库,一定要注意关闭
}
}

public static bool DataSetToExcel2(DataSet dataSet, bool isShowExcle)
{
System.Data.DataTable dataTable = dataSet.Tables[0];
int rowNumber = dataTable.Rows.Count;//不包括字段名
int columnNumber = dataTable.Columns.Count;
int colIndex = 0;

if (rowNumber == 0)
{
return false;
}

//建立Excel对象
Microsoft.Office.Interop.Excel.Application excel = new Microsoft.Office.Interop.Excel.Application();
//excel.Application.Workbooks.Add(true);
Microsoft.Office.Interop.Excel.Workbook workbook = excel.Workbooks.Add(Microsoft.Office.Interop.Excel.XlWBATemplate.xlWBATWorksheet);
Microsoft.Office.Interop.Excel.Worksheet worksheet = (Microsoft.Office.Interop.Excel.Worksheet)workbook.Worksheets[1];
excel.Visible = isShowExcle;
//Microsoft.Office.Interop.Excel.Worksheet worksheet = (Microsoft.Office.Interop.Excel.Worksheet)excel.Worksheets[1];
Microsoft.Office.Interop.Excel.Range range;

//生成字段名称
foreach (DataColumn col in dataTable.Columns)
{
colIndex++;
excel.Cells[1, colIndex] = col.ColumnName;
}

object[,] objData = new object[rowNumber, columnNumber];

for (int r = 0; r < rowNumber; r++)
{
for (int c = 0; c < columnNumber; c++)
{
objData[r, c] = dataTable.Rows[r][c];
}
//Application.DoEvents();
}


//Range range = excel.get_Range(excel.Cells[1, 1], excel.Cells[1, 10]);

//Range range = excel.Range [excel.Cells[1, 1], excel.Cells[1, 10]];


// 写入Excel
//range = worksheet.get_Range(excel.Cells[2, 1], excel.Cells[rowNumber + 1, columnNumber]);
range = worksheet.Range[excel.Cells[2, 1], excel.Cells[rowNumber + 1, columnNumber]];
//range.NumberFormat = "@";//设置单元格为文本格式
range.Value2 = objData;
worksheet.get_Range(excel.Cells[2, 1], excel.Cells[rowNumber + 1, 1]).NumberFormat = "yyyy-m-d h:mm";

return true;
}
...全文
177 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
  • 打赏
  • 举报
回复
引用 7 楼 xdashewan 的回复:
[quote=引用 5 楼 a815673899 的回复:] 谢谢 可是要怎么弄啊,我百度了一天没整明白
用留返回,参考http://www.cnblogs.com/Franking/articles/1012330.html[/quote] 谢谢 我用插件实现了……
xdashewan 2016-06-08
  • 打赏
  • 举报
回复
引用 5 楼 a815673899 的回复:
谢谢 可是要怎么弄啊,我百度了一天没整明白
用留返回,参考http://www.cnblogs.com/Franking/articles/1012330.html
  • 打赏
  • 举报
回复
引用 3 楼 kfrhappy 的回复:
你要输出给客户端 不是在服务端执行
谢谢 可是要怎么弄啊,我百度了一天没整明白
  • 打赏
  • 举报
回复
引用 2 楼 xdashewan 的回复:
服务器会打开是你自己代码导致的,excel.Visible = isShowExcle;。下载完全又是另一回事
谢谢 可是要怎么弄啊,我百度了一天没整明白
  • 打赏
  • 举报
回复
引用 1 楼 FoxDave 的回复:
你在服务器生成好excel之后把它返回到客户端
谢谢 可是要怎么弄啊,我百度了一天没整明白
Net攻城狮 2016-06-07
  • 打赏
  • 举报
回复
你要输出给客户端 不是在服务端执行
xdashewan 2016-06-06
  • 打赏
  • 举报
回复
服务器会打开是你自己代码导致的,excel.Visible = isShowExcle;。下载完全又是另一回事
Justin-Liu 2016-06-06
  • 打赏
  • 举报
回复
你在服务器生成好excel之后把它返回到客户端
【零强化均衡器的MIMO】【BPSK】在瑞利衰落信道中使用零强化均衡器的2x2 MIMO系统(Matlab代码实现)内容概要:本文介绍了在瑞利衰落信道中使用零强化均衡器(Zero Forcing Equalizer)的2x2 MIMO系统,并结合BPSK调制方式进行Matlab代码实现。文章重点阐述了MIMO系统的基本架构、信道模型构建、零强化均衡器的数学原理及其在抑制干扰中的作用,以及系统误码率性能的仿真分析流程。通过仿真验证了在多输入多输出环境下,零强化均衡器对提升通信可靠性的有效性。; 适合人群:具备通信原理基础知识、熟悉Matlab编程,对MIMO通信系统和数字信号处理有一定了解的高校学生、研究人员及通信工程技术人员。; 使用场景及目标:①学习MIMO系统在瑞利衰落信道下的建模方法;②掌握零强化均衡器的设计与实现原理;③通过BPSK调制仿真分析系统性能,理解均衡技术对误码率的影响;④为后续研究更复杂的预编码和检测算法(如MMSE、ZF-SIC等)奠定基础。; 阅读建议:建议读者结合Matlab代码逐步调试运行,重点关注信道矩阵生成、均衡器权重计算及接收信号恢复过程,同时可通过改变信噪比(SNR)观察系统性能变化,加深对MIMO系统抗衰落能力的理解。

62,253

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧