相关疑难解决方法(0)

OpenXML - 在Excel电子表格中写入日期会导致内容不可读

我使用以下代码将日期时间添加到电子表格中的列:

var dt = DateTime.Now;
r.AppendChild<Cell>(new Cell()
    { 
        CellValue = new CellValue(dt.ToOADate().ToString()),
        DataType = new EnumValue<CellValues>(CellValues.Date), 
        StyleIndex = 1,
        CellReference = header[6] + index
    });
Run Code Online (Sandbox Code Playgroud)

当我尝试在Excel 2010中打开该文件时,我收到错误

var dt = DateTime.Now;
r.AppendChild<Cell>(new Cell()
    { 
        CellValue = new CellValue(dt.ToOADate().ToString()),
        DataType = new EnumValue<CellValues>(CellValues.Date), 
        StyleIndex = 1,
        CellReference = header[6] + index
    });
Run Code Online (Sandbox Code Playgroud)

如果我注释掉这一行,一切都很好.

我在StackOverFlow上提到了simiiar问题,但它们基本上和我一样有相同的代码

.net c# openxml

16
推荐指数
3
解决办法
2万
查看次数

如何使用C#和SDK获取OOXML中的"第一张"表?

所以!:)简单的问题 - 它可能被问到,但我找不到它.我正在使用Open XML SDK和C#从XLSX检索数据.我想获得"第一张"表(就像你在Excel中看到的第一张),但是当我使用时......

WorkbookPart wbPart = workBook.WorkbookPart;
//Now let's find the dimension of the first worksheet 
string sheetArea = wbPart.WorksheetParts.First().Worksheet.SheetDimension.Reference.Value;
Run Code Online (Sandbox Code Playgroud)

不幸的是,在一个全新的XLSX中,这拉动了"Sheet3"而不是"Sheet1".我提前不知道工作表名称,也不能强制用户只提交一张工作簿或指定工作表名称.我目前的要求是抓住第一张纸.

有人可以帮忙吗?:)

编辑:我想通了!但我无法回答7个小时的问题,所以......

我通过挖掘其他SO问题的答案找到了这个:

Open XML SDK 2.0 - 如何更新电子表格中的单元格?

从本质上讲,一个工作的例子可能是这样的:

(wbPart.GetPartById(wbPart.Workbook.Sheets.Elements<Sheet>().First().Id.Value) as WorksheetPart).Worksheet.SheetDimension.Reference.Value
Run Code Online (Sandbox Code Playgroud)

c# xml excel sdk openxml

10
推荐指数
1
解决办法
6180
查看次数

OpenXML - 在单元格更新后刷新Excel表格

我有一个使用OpenXML SDK读取和写入Excel(xlsx)单元格的类.该课程基于此处最多投票的答案:Open XML SDK 2.0 - 如何更新电子表格中的单元格?

我需要更新一个单元格,然后获取另一个单元格的值,其中包含一个计算公式.更新工作正常,但是当我在更新后读取公式单元格时,我得到旧值,在编辑之前存在于doc中.但是,当我在运行程序后手动打开我的xlsx时,我可以看到正确的值.

所以看起来像单元格的旧值被缓存在某个地方......这很奇怪,因为我每次在读/写单元格之前打开/关闭我的文档.

编辑:文森特的回答让我更新了我的示例代码.我添加了一个Refresh方法,可以在后台运行的Excel应用程序中打开,保存和关闭文档.这会重新计算我的公式.有关更多详细信息和C#代码示例,请参阅:http://fczaja.blogspot.com/2013/05/how-to-read-and-write-excel-cells-with.html

excel openxml excel-formula openxml-sdk

3
推荐指数
1
解决办法
3901
查看次数

标签 统计

openxml ×3

c# ×2

excel ×2

.net ×1

excel-formula ×1

openxml-sdk ×1

sdk ×1

xml ×1