作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
在我的应用程序中,我已将空白 Excel 文件表单的副本保存为资源,我需要加载此文件,修改其两个工作表,并使用新名称将其保存在新位置。用户不应该看到该进程。
我正在使用带有 SQL 服务器的 C# 2010,我将从中加载数据并将其放入 Excel 表单中。
感谢您抽出时间。
最佳答案
使用可在 .NET 或 COM 中找到的 Microsoft 互操作程序集 (Microsoft.Office.Interop.Excel)然后将所有需要的单元格加载到List
中并修改数据。
类似这样的(代码如下):
string path = @"C:\temp\test.xls";
ApplicationClass excelApllication = null;
Workbook excelWorkBook = null;
Worksheet excelWorkSheet = null;
excelApllication = new ApplicationClass();
System.Threading.Thread.Sleep(2000);
excelWorkBook = excelApllication.Workbooks.Add();
excelWorkSheet = (Worksheet)excelWorkBook.Worksheets.get_Item(1);
// Attention: 1 indexed cells, [Row, Col]
excelWorkSheet.Cells[1, 1] = "Column A, Row 1";
excelWorkSheet.Cells[2, 5] = "Column E, Row 2";
excelWorkSheet.Cells[3, 3] = "Column C, Row 3";
excelWorkBook.SaveAs(path, XlFileFormat.xlWorkbookNormal);
excelWorkBook.Close();
excelApllication.Quit();
Marshal.FinalReleaseComObject(excelWorkSheet);
Marshal.FinalReleaseComObject(excelWorkBook);
Marshal.FinalReleaseComObject(excelApllication);
excelApllication = null;
excelWorkSheet = null;
//opens the created and saved Excel file
Process.Start(path);
这应该发生在线程内,因为您不希望用户注意到该任务。
http://msdn.microsoft.com/en-us/library/aa645740%28v=vs.71%29.aspx(线程教程)
关于c# - 在后台打开、修改、另存为 Excel 工作簿(Winforms、C#),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12897302/
我是一名优秀的程序员,十分优秀!