使用Asp.Net创建Excel文件

时间:2016-12-25 07:49:41

标签: c# asp.net excel

我在asp.net C#中创建一个网页,用户输入他们的信息,如employee_id,name,skill_name,skill_category,skill_proficiency等。

当他们点击"提交"按钮,我想要在存储所有数据的服务器上生成Excel文件(.xls)。当用户继续输入数据时,必须填充Excel文件。

我知道在这里使用DB是必须的,但我被告知要严格使用Excel文件,因为项目范围很小。

任何有助于提供帮助的起点都将受到赞赏。

2 个答案:

答案 0 :(得分:1)

(没有产品展示位置)

在我们有类似要求的项目中,我们使用第三方工具,例如Aspose.Cells。我在大约7个项目中使用它,我非常喜欢它。

与您的日薪相比,大约1000美元的成本相对便宜。 (当然也有30天的试用版)

Aspose.Cells Pricing

在您的情况下,我建议您执行以下步骤:

  1. 创建一个用户可以插入数据的网站
  2. 将此数据存储在数据库中
  3. 实施Excel导出功能
  4. 导出(考虑到Aspose.Cells)相对简单:

    // Load template XLSX
    Workbook workbook = new Workbook(@"C:\temp\YourTemplate.xlsx");
    
    // get the first worksheet
    Worksheet worksheet = workbook.Worksheets[0];
    
    // some logic to dump your data from database to the worksheet
    ExportDataFromDbToWorksheet(worksheet);
    
    //Saving the Excel file
    workbook.Save(@"C:\temp\Export.xlsx");
    

    试一试。 在大多数情况下,购买图书馆(无论是哪个)比自己实施的便宜得多。

答案 1 :(得分:0)

对于这样的项目,您需要开始考虑可能需要哪些外部资源。一读到这个问题,我开始思考编程时的想法。 "好的,我需要一个Excel文件库或API导入到我的项目中,该项目具有我可以用来读/写Excel电子表格文件的方法。"然后你接受并开始搜索。我搜索了你,我找到了两个选项,但可能还有其他选项:

  1. Excel Library
  2. Spreadsheet Light
  3. 这里的重要部分不是具体的图书馆,而是您正在思考的是正确的术语。例如,我曾经不得不在C#中编写一个编写Microsoft Word .docx文件的应用程序...... C#不能单独执行此操作,因此我使用C#"来搜索"写.docx文件。并最终找到并使用了一个名为DocX的库。

    说完这些,一旦你得到其中一个库并成功将它导入到你的项目中,你需要阅读文档并稍微使用这些方法,直到你熟悉如何创建,写入,保存,并关闭一个文件。现在,您需要做的就是在ASP.NET应用程序中引用它,新建对象并在适当的位置编写业务逻辑。您可以创建一个类似repository pattern的抽象,它实现您刚刚学习的Excel文件逻辑。 repo模式会将您的业务逻辑/核心程序从库中抽象出来,这样您就可以用新的/不同的库替换库,而不会影响您自己的程序代码。这应该让你开始!