如何离线保存C#中的excel输出

本文关键字:中的 excel 输出 保存 何离线 离线 | 更新日期: 2023-09-27 18:19:41

我用在OfficeWriter中找到的示例代码创建了一个简单而基本的Hello World模板。然而,我想将输出保存在计算机内的文件夹中,而不是在线存储(web)

网站已经说明了如何保存到文件夹中,但在我的情况下不起作用。有人能帮忙吗?顺便说一下,我使用了一个控制台应用程序来进行编码。

错误提到我必须添加System.Web引用,我认为这是不必要的,因为我不是在做网络或其他事情。

    using SoftArtisans.OfficeWriter.ExcelWriter;
    namespace ConsoleApplication1
    class Program
    {
        static void Main(string[] args)
        {
            ExcelTemplate XLT = new ExcelTemplate();
            XLT.Open(@"C:'Users'administrator'Desktop'Hello World.xlsx);
            DataBindProperties dataProps = XLT.CreateDataBindingProperties();
            string value = "Hello World";
            XLT.BindCellData(value, "DataValue", dataProps);
            XLT.Process();
            XLT.Save("Output.xlsx"); //this coding is giving me problem.
        }
    }

如何离线保存C#中的excel输出

注意:我为OfficeWriter的制造商SoftArtisans工作。

尽管我们的大多数客户在.NET web应用程序中使用OfficeWriter,但OfficeWriter可以用于任何类型的.NET应用程序。

所有OfficeWriter对象(ExcelTemplate、ExcelApplication、WordTemplate和WordApplication)都有四个输出选项:

  1. 直接保存到磁盘
  2. 保存到System.IO流
  3. 将生成的文件作为附件流式传输到客户端
  4. 将生成的文件流式传输到客户端,以便在浏览器中查看。这只适用于Internet Explorer,并且如果启用了在IE中查看Office文件

Save方法依赖于System.Web,因为Save()重载使用HttpResponse对象。我知道,如果客户使用.NET4客户端配置文件,他们会遇到依赖关系的问题,因为对System.Web的引用不会自动包含在内。我相信控制台或表单应用程序等项目也是如此。

要将文件保存到磁盘上的特定文件夹,您需要提供磁盘上该位置的完整文件路径。例如"C:''Reports''SampleReport.xlsx"。在将该值传递给OfficeWriter之前,可以使用.NET代码帮助解析完整的文件路径。

下面是我发现的几篇文章,讨论如何从.NET控制台应用程序获取完整的文件路径:

  • 如何在控制台应用程序中获取.NET中应用程序的路径
  • 如何从C#控制台应用程序中的目录中获取路径

根据ExcelTemplate.Save()文档,文件正在保存到服务器,尽管您认为它不是。由于它试图保存到web服务器,因此需要System.Web来解析服务器上的物理路径。

那么您使用的工具不对。直接从Excel Writer 7的文档…

SoftArtisans ExcelWriter是一个高性能的纯.NET解决方案在Web服务器上生成本机Microsoft Excel电子表格。几个简单的代码行生成可编辑的表示质量可以保存在服务器上或通过成千上万的并发用户。

http://wiki.softartisans.com/pages/viewpage.action?pageId=3114609

请考虑使用Visual Studio Tools for Office或其他库来满足您当地的Excel需求。

您应该尝试添加System.Web引用,看看这是否解决了您的问题。System.Web程序集已与完整的.NET框架一起安装,因此无论您是否引用它,它都不会更改任何内容。也许它会检测到你不在一个web应用程序中,并无论如何保存它,但它需要引用才能这样做

或者,使用开源EPPlus项目创建Excel电子表格,不需要System.Web-http://epplus.codeplex.com/

好吧,我找到了这个问题的答案,我只需要将web引用添加到项目中,它就很神奇。我再次感谢大家提供的帮助。