我在asp.net C#中创建一个网页,用户输入他们的信息,如employee_id,name,skill_name,skill_category,skill_proficiency等。
当他们点击"提交"按钮,我想要在存储所有数据的服务器上生成Excel文件(.xls)。当用户继续输入数据时,必须填充Excel文件。
我知道在这里使用DB是必须的,但我被告知要严格使用Excel文件,因为项目范围很小。
任何有助于提供帮助的起点都将受到赞赏。
答案 0 :(得分:1)
(没有产品展示位置)
在我们有类似要求的项目中,我们使用第三方工具,例如Aspose.Cells。我在大约7个项目中使用它,我非常喜欢它。
与您的日薪相比,大约1000美元的成本相对便宜。 (当然也有30天的试用版)
在您的情况下,我建议您执行以下步骤:
导出(考虑到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电子表格文件的方法。"然后你接受并开始搜索。我搜索了你,我找到了两个选项,但可能还有其他选项:
这里的重要部分不是具体的图书馆,而是您正在思考的是正确的术语。例如,我曾经不得不在C#中编写一个编写Microsoft Word .docx文件的应用程序...... C#不能单独执行此操作,因此我使用C#"来搜索"写.docx文件。并最终找到并使用了一个名为DocX的库。
说完这些,一旦你得到其中一个库并成功将它导入到你的项目中,你需要阅读文档并稍微使用这些方法,直到你熟悉如何创建,写入,保存,并关闭一个文件。现在,您需要做的就是在ASP.NET应用程序中引用它,新建对象并在适当的位置编写业务逻辑。您可以创建一个类似repository pattern的抽象,它实现您刚刚学习的Excel文件逻辑。 repo模式会将您的业务逻辑/核心程序从库中抽象出来,这样您就可以用新的/不同的库替换库,而不会影响您自己的程序代码。这应该让你开始!