我的用户想要在Excel中使用我的应用程序中的数据。数据驻留在SQL Server数据库中,但我不希望用户直接访问数据库,我宁愿为他们提供Web服务来获取数据。通过Web服务将数据从SQL Server移动到Excel的最佳方法是什么?
答案 0 :(得分:3)
您可以将其作为直接的asp.net页面并返回.csv文件。如果将mimetype更改为text / csv,则默认情况下应在excel中打开。这将是最简单的方法,也是我过去使用过的非常成功的方法。
答案 1 :(得分:3)
以下代码将从数据表生成一个excel文件,您可以将其传输给用户
public static void CreateExcelFromDataTable(string filename, DataTable dt) {
DataGrid grid = new DataGrid();
grid.HeaderStyle.Font.Bold = true;
grid.DataSource = dt;
grid.DataMember = dt.TableName;
grid.DataBind();
// render the DataGrid control to a file
using (StreamWriter sw = new StreamWriter(filename)) {
using (HtmlTextWriter hw = new HtmlTextWriter(sw)) {
grid.RenderControl(hw);
}
}
}
答案 2 :(得分:1)
你也可以使用.xls文件名回显一个带有表格的html页面,excel也知道如何打开它
答案 3 :(得分:1)
让Web服务发出一个字符串缓冲区,其中单元格由制表符分隔,行由回车符/换行符分隔。然后使用Excel Web查询将结果传递到Excel中。它便宜,快速,有点脏,但对简单的过程有好处。
答案 4 :(得分:0)
我赞成使用Excel Web Query(数据/导入外部) 此外,有一种方法可以将数据从Excel发布回网站。至少它在MS Sharepoint中工作