I must read excel file as sample:
My code reading file:
SPWeb web = SPContext.Current.Web;
SPFile file = web.GetFile(path);
Stream dataStream = file.OpenBinaryStream();
// Open the document .
using (SpreadsheetDocument spreadSheet = SpreadsheetDocument.Open(dataStream, true))
{
WorksheetPart worksheetPart = GetWorksheetPartByName(spreadSheet, "Sheet1");
if (worksheetPart != null)
{
SheetData sheetData = worksheetPart.Worksheet.Elements<SheetData>().First();
DataTable dt = new DataTable();
dt.Columns.Add("Id");
dt.Columns.Add("Title");
dt.Columns.Add("Gender");
dt.Columns.Add("Birthday");
foreach (Row r in sheetData.Elements<Row>())
{
if (r.RowIndex.Value > 1)
{
dt.Rows.Add();
int i = 0;
foreach (Cell c in r.Elements<Cell>())
{
dt.Rows[dt.Rows.Count - 1][i] = c.CellValue.Text;
i++;
}
}
}
GridView1.DataSource = dt;
GridView1.DataBind();
}
}
Gridview Result only get correct first columns:
Why can't get text value of cell by OpenXML?