I wan to convert the worksheet into memory stream so that I can make my excel downloadable at browser.
Microsoft.Office.Interop.Excel.Application excel = new Microsoft.Office.Interop.Excel.Application();
// Create empty workbook
excel.Workbooks.Add();
// Create Worksheet from active sheet
Microsoft.Office.Interop.Excel._Worksheet workSheet = excel.ActiveSheet;
try
{
// ------------------------------------------------
// Creation of header cells
// ------------------------------------------------
workSheet.Cells[1, "A"] = "GroupId";
workSheet.Cells[1, "B"] = "Time";
// ------------------------------------------------
// Populate sheet with some real data from "cars" list
// ------------------------------------------------
int row = 2; // start row (in row 1 are header cells)
foreach (var item in Result)
{
workSheet.Cells[row, "A"] = item.MasterID;
workSheet.Cells[row, "B"] = item.LocalTime;
row++;
}
I know converting into memory stream but here
using (MemoryStream exportData = new MemoryStream())
{
//workSheet.Write(exportData); //Worksheet doesn't have this Write method as compared to workbook.
Response.ContentEncoding = Encoding.GetEncoding("ISO-8859-1");
Response.Charset = Encoding.GetEncoding("ISO-8859-1").EncodingName;
Response.ContentType = "application/vnd.ms-excel"; //xls
// For xlsx, use: application/vnd.openxmlformats-officedocument.spreadsheetml.sheet
Response.AddHeader("content-disposition", String.Format("attachment; filename={0}.xls", "yourFilename"));
Response.Clear();
Response.BinaryWrite(exportData.GetBuffer());
Response.End();
}
How to convert my workSheet to Memory stream?