我目前在我的应用程序中有一个选项可以导出到 Excel。它将数据保存到磁盘中的文件中。
我想打开 Excel 并显示数据。你们有谁知道这是否可能以及如何实现?
我想我可以打开已经保存到磁盘的文件,但最好不要将文件保存到磁盘。
我目前在我的应用程序中有一个选项可以导出到 Excel。它将数据保存到磁盘中的文件中。
我想打开 Excel 并显示数据。你们有谁知道这是否可能以及如何实现?
我想我可以打开已经保存到磁盘的文件,但最好不要将文件保存到磁盘。
我假设您正在使用互操作。只需将应用程序设置为可见。
excelApp.Visible = true;
在哪里
InteropExcel.Application excelApp;
只要记住仍然释放所有 COM 引用,这样您的应用程序就不会同时拥有 Excel 的句柄。这可能会导致您的 Excel 文件是只读的。
您目前如何创建文件?
如果您使用 Excel 引擎或 POI(或它们的缩写)来创建 XLS / XLSX,这只是不保存工作簿并使实例可见(如上所述)的情况吗?
如果您不依赖或不想依赖 Excel(即使用 Syncfusion 等第三方库来创建文件)或只是以 CSV 等 excel 可读格式输出数据,那么我想您会遇到困难基于文件的操作...
至于临时文件比未保存的文件更容易......数据需要在任何一种情况下创建,无论是简单的CSV还是Excel单元格的编码群体,所以我不太明白这是什么意思。
参考下面的代码打开excel而不保存
System.Web.HttpContext.Current.Response.Clear();
System.Web.HttpContext.Current.Response.AddHeader("content-disposition", "attachment; filename=DateTime.Now + ".xls");
System.Web.HttpContext.Current.Response.Charset = "";
Response.Cache.SetCacheability(HttpCacheability.NoCache); // If you want the option to open the Excel file without saving than
System.Web.HttpContext.Current.Response.ContentType = "application/vnd.xls";
System.IO.StringWriter stringWrite = new System.IO.StringWriter();
System.Web.UI.HtmlTextWriter htmlWrite = new HtmlTextWriter(stringWrite);
Gridview1.RenderControl(htmlWrite);
//style to format numbers to string
string style = @"<style> .textmode { } </style>";
System.Web.HttpContext.Current.Response.Write(style);
System.Web.HttpContext.Current.Response.Output.Write(stringWrite.ToString());
System.Web.HttpContext.Current.Response.Flush();
System.Web.HttpContext.Current.Response.End();