NPOI 2.0版本 怎么读取Excel(2007)模板
NPOI 2.0版本 如何读取Excel(2007)模板
总是报错:“NPOI.OpenXmlFormats.Spreadsheet.ThemeDocument”的类型初始值设定项引发异常。 ---> System.InvalidOperationException: 无法生成临时类(result=1)。
error CS0200: 无法对属性或索引器“NPOI.OpenXmlFormats.Dml.CT_RelativeRect.lSpecified”赋值 -- 它是只读的
error CS0200: 无法对属性或索引器“NPOI.OpenXmlFormats.Dml.CT_RelativeRect.tSpecified”赋值 -- 它是只读的
error CS0200: 无法对属性或索引器“NPOI.OpenXmlFormats.Dml.CT_RelativeRect.rSpecified”赋值 -- 它是只读的
error CS0200: 无法对属性或索引器“NPOI.OpenXmlFormats.Dml.CT_RelativeRect.bSpecified”赋值 -- 它是只读的
error CS0200: 无法对属性或索引器“NPOI.OpenXmlFormats.Dml.CT_ShapeProperties.bwModeSpecified”赋值 -- 它是只读的
error CS0200: 无法对属性或索引器“NPOI.OpenXmlFormats.Dml.CT_Transform2D.flipVSpecified”赋值 -- 它是只读的
error CS0200: 无法对属性或索引器“NPOI.OpenXmlFormats.Dml.CT_Transform2D.flipHSpecified”赋值 -- 它是只读的
error CS0200: 无法对属性或索引器“NPOI.OpenXmlFormats.Dml.CT_Transform2D.rotSpecified”赋值 -- 它是只读的
------解决方案--------------------
FileStream file = new FileStream(@filePath, FileMode.Open, FileAccess.Read);
HSSFWorkbook hssfworkbook = new HSSFWorkbook(file); 试试这个可能行不行
------解决方案--------------------
这个问题我刚刚解决
FileStream file = new FileStream(path, FileMode.Open, FileAccess.Read);
IWorkbook workbook = WorkbookFactory.Create(file);
总是报错:“NPOI.OpenXmlFormats.Spreadsheet.ThemeDocument”的类型初始值设定项引发异常。 ---> System.InvalidOperationException: 无法生成临时类(result=1)。
error CS0200: 无法对属性或索引器“NPOI.OpenXmlFormats.Dml.CT_RelativeRect.lSpecified”赋值 -- 它是只读的
error CS0200: 无法对属性或索引器“NPOI.OpenXmlFormats.Dml.CT_RelativeRect.tSpecified”赋值 -- 它是只读的
error CS0200: 无法对属性或索引器“NPOI.OpenXmlFormats.Dml.CT_RelativeRect.rSpecified”赋值 -- 它是只读的
error CS0200: 无法对属性或索引器“NPOI.OpenXmlFormats.Dml.CT_RelativeRect.bSpecified”赋值 -- 它是只读的
error CS0200: 无法对属性或索引器“NPOI.OpenXmlFormats.Dml.CT_ShapeProperties.bwModeSpecified”赋值 -- 它是只读的
error CS0200: 无法对属性或索引器“NPOI.OpenXmlFormats.Dml.CT_Transform2D.flipVSpecified”赋值 -- 它是只读的
error CS0200: 无法对属性或索引器“NPOI.OpenXmlFormats.Dml.CT_Transform2D.flipHSpecified”赋值 -- 它是只读的
error CS0200: 无法对属性或索引器“NPOI.OpenXmlFormats.Dml.CT_Transform2D.rotSpecified”赋值 -- 它是只读的
------解决方案--------------------
FileStream file = new FileStream(@filePath, FileMode.Open, FileAccess.Read);
HSSFWorkbook hssfworkbook = new HSSFWorkbook(file); 试试这个可能行不行
------解决方案--------------------
这个问题我刚刚解决
using (FileStream file = new FileStream(path, FileMode.Open, FileAccess.Read))
{
xssfworkbook = new XSSFWorkbook(file);
}
void ConvertToDataTable()
{
ISheet sheet = hssfworkbook.GetSheetAt(0);
System.Collections.IEnumerator rows = sheet.GetRowEnumerator();
DataTable dt = new DataTable();
int t = 0;
while (rows.MoveNext())
{
IRow row = (XSSFRow)rows.Current;
int cellCount = row.LastCellNum;
DataRow dr = dt.NewRow();
for (int i = 0; i < row.LastCellNum; i++)
{
ICell cell = row.GetCell(i);
if (t == 0)
{
DataColumn column = new DataColumn(cell.ToString());
dt.Columns.Add(column);
}
if (cell == null)
{
dr[i] = null;
}
else
{
dr[i] = cell.ToString();
}
}