c# - 从外部托管的应用程序和数据库导出数据

c# - Exporting data from externally hosted app and DB

我正在用 C# 构建一个 Web 应用程序,它需要一个工具来导出数据。 我最初在本地测试时导出到 Excel,这工作正常,但由于该应用程序托管在外部服务器上,我认为由于 Microsoft.Office.Interop.Excel,这不会工作,这是正确的吗?

您说得对,Microsoft 不鼓励 Excel Web 应用程序中的自动化:

https://support.microsoft.com/en-us/kb/257757?wa=wsignin1.0

不过,您还有一些选择。如果您需要做的只是导出数据,您仍然可以编写一个 CSV 格式的文件用于导出,它应该在 Excel 中打开。如果您确实需要以 Excel 格式编写,可以使用 Open XML SDK for Office (https://msdn.microsoft.com/en-us/library/office/bb448854.aspx?f=255&MSPPError=-2147217396)。

另一种选择是保存数据并让服务器 运行 Excel 在 IIS 之外的批处理过程中自动化,并将报告发送给用户。

要使用 Microsoft.Office.Interop.Excel,您需要安装 Office AFAIK。

您可以通过以下几种方法将数据导出到 Excel:

  1. 创建一个常规的旧 CSV 文件。 Excel 可以打开和编辑此类文件。无论如何,以这种方式提供数据可能是个好主意,因为它是一种可移植和开放的格式。
  2. 使用 SpreadsheetML 创建一个 Excel 文档。您不会通过这种方式获得 Excel 的所有功能,但您将能够向文档添加更多格式信息,并且可以通过 Excel 轻松打开它。我相信其他电子表格软件也支持这一点。