我对asp.net 和listview 有两个问题。我有一个带有列表视图的网络应用程序。此列表视图按活动目录填充来自用户的数据。listview 仅显示搜索到的用户。
问题一:
我想将此 ListView 导入 Excel 文件。我怎么能做到这一点?我必须为此使用 CSV 吗?
问题2:
我想打印出这个列表视图。我怎么能做到这一点,或者如果我制作一个excel文件并且用户打印这个文件会更好:/
我需要小费和好的链接:)
谢谢<3
1 - 请检查这些关于如何将列表视图导出到 excel 文件的链接:
http://forums.asp.net/p/1245474/2583840.aspx
http://www.dotnetlogix.com/article/aspnet/56/How-to-export-listview-in-excel-in-asp.net.html
2 - 对于打印,您可以进行报告 :)
祝你好运!
非常适合打印和保存到 Excel、PDF、Word 和打印目的,我更喜欢使用 RDLC,因为它更易于维护。我没有使用此第三方办公室控件和 dll 的良好经验。
如果您只想打印列表,则可以从 Web 界面打印。创建一个包含您要打印的内容的页面,然后按照以下说明操作:
问题 1:不,您不需要使用 CSV。您可以使用EPPlus导出到 Excel。它做得非常出色,在出口方面没有什么不能做的。
问题2:我会使用上面的,但这取决于打印文件的人的要求。您可以只转储一个简单的列表,但恕我直言,Excel 会更好。
只是为了完成这个......一些伪代码让你生成一个简单的电子表格......
using OfficeOpenXml;
using (ExcelPackage outPackage = new ExcelPackage(YOUR_DESTINATION_FILENAME))
{
// Add new worksheet
ExcelWorksheet destWorkSheet = outPackage.Workbook.Worksheets.Add("Spreadsheet name");
// Draw header
destWorkSheet.Cells[1, 1].Value = "Header 1";
destWorkSheet.Cells[1, 2].Value = "Header 2";
// Loop through your data and add rows
for (int i = 0; i < YOURDATA.Count; i++)
{
destWorkSheet.Cells[i+2, 1].Value = YOUR_DATA_1;
destWorkSheet.Cells[i+2, 2].Value = YOUR_DATA_2;
}
// Save spreadsheet
outPackage.Save();
}
希望这可以帮助,
{
Response.ClearContent();
Response.Buffer = true;
string fileName="filname.xlsm";Response.AddHeader("content-disposition", string.Format("attachment;filename={0}",fileName));
Response.ContentType = "application/ms-excel";
StringWriter sw = new StringWriter();
HtmlTextWriter htw = new HtmlTextWriter(sw);
ListView1.RenderControl(htw);
Response.Write(sw.ToString());
Response.End();
}