0

我对asp.net 和listview 有两个问题。我有一个带有列表视图的网络应用程序。此列表视图按活动目录填充来自用户的数据。listview 仅显示搜索到的用户。

问题一:

我想将此 ListView 导入 Excel 文件。我怎么能做到这一点?我必须为此使用 CSV 吗?

问题2:

我想打印出这个列表视图。我怎么能做到这一点,或者如果我制作一个excel文件并且用户打印这个文件会更好:/

我需要小费和好的链接:)

谢谢<3

4

5 回答 5

1

1 - 请检查这些关于如何将列表视图导出到 excel 文件的链接:

http://forums.asp.net/p/1245474/2583840.aspx

http://www.c-sharpcorner.com/uploadfile/vasanthks/export-gridviewlistview-to-excel-with-color-formatting/

http://www.dotnetlogix.com/article/aspnet/56/How-to-export-listview-in-excel-in-asp.net.html

2 - 对于打印,您可以进行报告 :)

祝你好运!

于 2013-04-24T09:42:10.143 回答
0

非常适合打印和保存到 Excel、PDF、Word 和打印目的,我更喜欢使用 RDLC,因为它更易于维护。我没有使用此第三方办公室控件和 dll 的良好经验。

于 2013-04-26T07:22:19.347 回答
0

如果您只想打印列表,则可以从 Web 界面打印。创建一个包含您要打印的内容的页面,然后按照以下说明操作:

http://www.w3schools.com/jsref/met_win_print.asp

于 2013-04-24T09:40:26.190 回答
0

问题 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();
}

希望这可以帮助,

于 2013-04-24T09:50:32.843 回答
0
    {
        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();
    }
于 2013-04-24T11:43:20.763 回答