当前位置:  开发笔记 > 编程语言 > 正文

将IList <T>或IQueryable <T>保存到Excel - C#

如何解决《将IList<T>或IQueryable<T>保存到Excel-C#》经验,为你挑选了1个好方法。

我正在通过Linq to SQL生成一个报告并在网站上显示它.

我需要将报告保存在MS Excel(或.csv)中并通过电子邮件发送给用户.

有关如何将其保存为Excel或.csv的任何想法?

.NET 3.5/C#

编辑:

在GridView的黑客可以完美运行.如果您在页面上使用AJAX,请确保将PostBaseTrigger添加到更新面板以导致完全POSTBACK,否则将无法正常工作.


    
        
    
    
        
    

我还发现了一个用.NET生成Excel XML工作簿的库,但它并不像公认的解决方案那么简单.



1> kwcto..:

转到关于Code Project的LINQtoCSV上的这篇文章.然后打开VS中的源代码并注释掉FieldMapper.cs中的第201行以修复导致列排序错误的错误:

//Array.Sort(m_IndexToInfo);

重新编译,你很高兴.

(我从文章的评论中发现)

然后使用:

CsvFileDescription outputFileDescription = new CsvFileDescription
{
    SeparatorChar = '\t', // tab delimited
    FirstLineHasColumnNames = false // no column names in first record
};

CsvContext cc = new CsvContext();

cc.Write(
    YOUR_IQUERYABLE_RESULT_HERE,
    "filename.csv",
    outputFileDescription);

我做了一个简化的IQueryable > .WriteToFile(路径)扩展方法,但我没有在这台机器上.

推荐阅读
低调pasta_730
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有