Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/315.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 流到excel而不保存_C#_.net_Excel_Epplus - Fatal编程技术网

C# 流到excel而不保存

C# 流到excel而不保存,c#,.net,excel,epplus,C#,.net,Excel,Epplus,我正在创建excel并在其中填充值。我正在使用ePlus。 我可以使用filestream保存并打开它。 但我想不保存就打开它。 我想我们可以通过某种方式使用memorystream直接生成excel。 请导游 try { MemoryStream newFile = new MemoryStream(); using (ExcelPackage package = new ExcelPackage(newFile))

我正在创建excel并在其中填充值。我正在使用ePlus。 我可以使用filestream保存并打开它。 但我想不保存就打开它。 我想我们可以通过某种方式使用memorystream直接生成excel。 请导游

try
        {
            MemoryStream newFile = new MemoryStream();
            using (ExcelPackage package = new ExcelPackage(newFile))
            {


                // Add Data Collection worksheet
                ExcelWorksheet dataWorksheet = package.Workbook.Worksheets.Add("Sheet1");


                dataWorksheet.Cells[1, 1].Value = " My Text";
                dataWorksheet.Cells[1, 1].Style.Font.Size = 14;
                dataWorksheet.Cells[3, 1].Value = BALGlobalVariables.cocName;
                dataWorksheet.Cells[5, 1].Value = "IR From Date :";
                dataWorksheet.Cells[6, 1].Value = "IR To Date : ";
                dataWorksheet.Cells[5, 6].Value = "From Date :";
                dataWorksheet.Cells[6, 6].Value = "To Date : ";

                dataWorksheet.Cells[5, 2].Value = fromDate;
                dataWorksheet.Cells[6, 2].Value = toDate;
                dataWorksheet.Cells[5, 7].Value = invFromDate;
                dataWorksheet.Cells[6, 7].Value = invFromDate;




                // Template specific excel generation goes in here
                FillPurchaseExcelData(ref dataWorksheet, masterTable, subTable);

                // save package
                package.Save();

            }

            byte[] fileContent = newFile.ToArray();
#if DEBUG
            string tempName = "MTemp.xlsx";
            string tempFileName = System.IO.Path.GetDirectoryName(Environment.GetCommandLineArgs()[0]) + @"\" + tempName;

            //Write the stream data of workbook to the root directory
            using (FileStream file = new FileStream(tempFileName, FileMode.Create))
            {
                file.Write(fileContent, 0, fileContent.Length);

            }
            System.Diagnostics.Process.Start(tempFileName);

您可以生成excel文件并选择不保存它,但excel无法打开未保存在磁盘上的文件(当它在磁盘上时会变成“文件”),因此简言之,您必须保存文档才能在excel中打开它


如果您担心将数据存储在硬盘上,作为替代方案,您可以在您信任的介质上创建一个数据源,然后创建一个xslx,在打开工作表时指示Excel使用该数据源(而不是创建预填充数据的文件)。但这完全是另一回事…

您可以生成excel文件并选择不保存它,但excel无法打开未保存在磁盘上的文件(当它在磁盘上时会变成“文件”),所以简而言之,您必须保存文档才能在excel中打开它


如果您担心将数据存储在硬盘上,作为替代方案,您可以在您信任的介质上创建一个数据源,然后创建一个xslx,在打开工作表时指示Excel使用该数据源(而不是创建预填充数据的文件)。但这是一个完全不同的故事…

在不保存的情况下打开它
我不知道这是什么意思。我想将excel显示为Book1而不是somefilename.xlsx,并显示消息以在关闭前保存生成的excel。
不保存就打开它
我不知道这是什么意思。我想将excel显示为Book1而不是somefilename.xlsx,并显示消息以在关闭前保存生成的excel。谢谢回复。。我想将excel显示为Book1而不是somefilename.xlsx,并在关闭前显示保存生成的excel的消息。如何在数据源中保存excel格式的值?谢谢回复。。我想将excel显示为Book1而不是somefilename.xlsx,并在关闭前显示保存生成的excel的消息。如何在数据源中保存excel格式的值?