2013-09-27 3 views
1

Я создаю excel и заполняя значения в нем. Я использую EPPlus. Я могу сохранить его с помощью фильтра и открыть его. , но я хочу открыть его без сохранения. Я думал, что мы сможем каким-то образом использовать memystream для создания 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); 
+0

'open it without saving' Я не знаю, что это значит. – tnw

+0

Я хотел показать excel как Book1 вместо somefilename.xlsx и показать сообщение, чтобы сохранить сгенерированное excel перед закрытием. – rahuzz

ответ

1

Вы можете создать первенствовать файл и выбрать, чтобы не сохранить его, но Excel не может открыть файлы, которые не сохраняются на диске (это становится «файл», когда он находится на диске), так короче - вы необходимо сохранить документ, чтобы открыть его в Excel.

Если вы обеспокоены хранением данных на жестком диске, в качестве альтернативы вы можете создать источник данных на доверенном вами носителе, а затем создать xslx, который будет указывать Excel на использование этого источника данных при открытии листа (вместо этого создания файла, предварительно заполненного данными). Но это совсем другая история ...

+0

Спасибо за ответ veljkoz .. Я хотел показать excel как Book1 вместо somefilename.xlsx и показать сообщение, чтобы сохранить сгенерированное excel перед закрытием. как я могу сохранить форматированные значения excel в источнике данных? – rahuzz

Смежные вопросы