c# - 从 MemoryStream 运行 Microsoft Excel 应用程序

标签 c# excel com closedxml

有人知道吗,是否可以从未保存的文件中打开 Microsoft Excel?例如来自内存流?

var workbook = new XLWorkbook();
var worksheet = workbook.Worksheets.Add("Sample Sheet");
worksheet.Cell("A1").Value = "Hello World!";


using (var ms = new MemoryStream())
{
    //IS IT POSSIBLE TO OPEN EXCEL BUT FROM UNSAVED MEMORYSTREAM?
    //Process.Start(EXCEL MS HERE);
}

或者,将文件保存到某个临时文件夹,然后通过 Excel 打开它,但需要用户执行“保存”和“另存为”操作。


主要目标:使用准备好的工作表从 C# 代码打开 Microsoft Excel 应用程序,并告诉用户必须保存它,就像这个文档是新文档一样。

最佳答案

您可以使用 Excel Interop 来执行此操作。

using Excel = Microsoft.Office.Interop.Excel;

Excel.Application excel = new Excel.Application();
excel.Visible = true;
Excel.Workbook workbook = excel.Workbooks.Add(Excel.XlSheetType.xlWorksheet);
Excel.Worksheet sheet = workbook.Sheets[1];

sheet.Cells[1, 1] = "Hello World!";

这将在不保存工作簿的情况下在用户计算机上打开 Excel。然后,用户可以选择更改所需的任何内容,然后手动保存工作簿。

关于c# - 从 MemoryStream 运行 Microsoft Excel 应用程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43683838/

相关文章:

c# - 如何通知哈希集的第一个元素的更改?

python - 如何从Python字典键在Excel中创建标题

python - 如何检查 PyWin 时间类型

c# - 将 BSTR 从 native c++ 传递到托管 c# dll 时出现问题

excel - 复制大于零的单元格,并将值粘贴到同一单元格中

c# - 将文件添加到 Itunes com

c# - 在 C# 3 中编写流畅接口(interface)的技巧

c# - 自动发现本地异常 : The Autodiscover service couldn't be located

c# - SocketException : No such host is known

vba - 将文本框中的值写入单行