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

我是隔壁老刘啊 我是隔壁老刘啊 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区
我想将数据库里面的某些内容从网站下载成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;
}
...全文
评论 8
收藏 已收藏
分享
返回顶部
我是隔壁老刘啊
.NET社区 62,272 成员 668,968 内容