Hi,
I have generated an xls file by using nuget closedxml class,
here is the code,
using (MemoryStream ms = new MemoryStream())
{
using (ClosedXML.Excel.XLWorkbook wb = new ClosedXML.Excel.XLWorkbook())
{
wb.AddWorksheet(table);
wb.Style = null;
wb.SaveAs(ms);
response.ExportObject = ms.ToArray();
}
}
the xls file was downloaded with some data. and I am uploading the same file again after updating some data in that xls file and excel reader is not converts to datatable.
here is the code for read from stream.
byte[] fileObject;
using (var binaryReader = new BinaryReader(file.InputStream, System.Text.Encoding.UTF8))
{
fileObject = binaryReader.ReadBytes(file.ContentLength);
}
using (var stream = new MemoryStream(fileObject))
{
IExcelDataReader excelReader = (fileType == FileType.XLS) ? ExcelReaderFactory.CreateBinaryReader(stream) : ExcelReaderFactory.CreateOpenXmlReader(stream);
excelReader.IsFirstRowAsColumnNames = true;
dataSet = excelReader.AsDataSet();
excelReader.Close();
}
file.InputStream is uploaded file [HttpPostedFileBase]
Thanks in advance
I have generated an xls file by using nuget closedxml class,
here is the code,
using (MemoryStream ms = new MemoryStream())
{
using (ClosedXML.Excel.XLWorkbook wb = new ClosedXML.Excel.XLWorkbook())
{
wb.AddWorksheet(table);
wb.Style = null;
wb.SaveAs(ms);
response.ExportObject = ms.ToArray();
}
}
the xls file was downloaded with some data. and I am uploading the same file again after updating some data in that xls file and excel reader is not converts to datatable.
here is the code for read from stream.
byte[] fileObject;
using (var binaryReader = new BinaryReader(file.InputStream, System.Text.Encoding.UTF8))
{
fileObject = binaryReader.ReadBytes(file.ContentLength);
}
using (var stream = new MemoryStream(fileObject))
{
IExcelDataReader excelReader = (fileType == FileType.XLS) ? ExcelReaderFactory.CreateBinaryReader(stream) : ExcelReaderFactory.CreateOpenXmlReader(stream);
excelReader.IsFirstRowAsColumnNames = true;
dataSet = excelReader.AsDataSet();
excelReader.Close();
}
file.InputStream is uploaded file [HttpPostedFileBase]
Thanks in advance