2012-06-18 58 views
5

将数据转换为excel中的数据使用LoadFromDataTable方法将数据加载到excel中然后将单元格格式更改为整数仍然显示错误“此单元格中的数字格式化为文本或先于由撇号“使用EPPlus(asp.net)

单元格仅显示在右侧,数字格式仅显示在单元格属性上。

仍然我不明白为什么我得到这个错误??。

Dim wsManufacturing As ExcelWorksheet = pck.Workbook.Worksheets.Add("Manufacturing") 
wsManufacturing.Cells("A1").LoadFromDataTable(dtManufacturing, True) 
Using col As ExcelRange = wsManufacturing.Cells(2, 2, 2 + dtManufacturing.Rows.Count, 2) 
    col.Style.Numberformat.Format = "#,##0" 
    col.Style.HorizontalAlignment = ExcelHorizontalAlignment.Right 
End Using 

enter image description here

回答

-1

改变从文本到号码的格式不会改变,这是格式变更前的小区入口的性质。

要更改最初的数字的文本表示

  1. 更改的条目单元格的格式为数字
  2. 在某些单元格中输入1
  3. 编辑/复制
  4. 选择单元格与文本号
  5. 粘贴特殊/复制
  6. 删除原来的1
+3

不是一个纲领性的解决方案! –

2

你可以这样做:

//strValue="98.5%"; 
double realValue=double.Parse(strValue.Replace("%", string.Empty)); 
Worksheet.Cells[row + 1, col].Style.Numberformat.Format = "#0\\.00%"; 
Worksheet.Cells[row + 1, col].Value = realValue;