C# 如何在asp.net中使用listview创建excel文件?

C# 如何在asp.net中使用listview创建excel文件?,c#,asp.net,excel,listview,printing,C#,Asp.net,Excel,Listview,Printing,我有两个问题要问asp.net和listview。我有一个带有listview的Web应用程序。此listview由active directory填充来自用户的数据。listview仅显示搜索的用户 问题1: 我想将此ListView导入Excel文件。我怎么能做到?我必须为此使用CSV吗 问题2: 我想打印出这个列表视图。我如何才能做到这一点,或者如果我制作一个excel文件并让用户打印此文件会更好:/ 我需要tipps和良好的链接:) 谢谢如果您只想打印列表,那么您可以从web界面打印。创

我有两个问题要问asp.net和listview。我有一个带有listview的Web应用程序。此listview由active directory填充来自用户的数据。listview仅显示搜索的用户

问题1:

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

问题2:

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

我需要tipps和良好的链接:)


谢谢如果您只想打印列表,那么您可以从web界面打印。创建包含要打印内容的页面,并按照以下说明操作:


1-请检查有关如何将listview导出到excel文件的以下链接:

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


祝你好运

问题1:不,您不需要使用CSV。您可以使用导出到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();
}
使用OfficeOpenXml;
使用(ExcelPackage outPackage=新的ExcelPackage(您的目的地文件名))
{
//添加新工作表
Excel工作表destWorkSheet=outPackage.Workbook.Worksheets.Add(“电子表格名称”);
//抽头
destWorkSheet.Cells[1,1].Value=“Header 1”;
destWorkSheet.Cells[1,2].Value=“Header 2”;
//循环浏览数据并添加行
for(int i=0;i

希望这有帮助,

对于打印和保存到Excel、PDF、Word和打印目的,我更喜欢使用RDLC,因为它更易于维护。我没有使用此第三方office控件和DLL的良好经验

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