gpt4 book ai didi

C# Gembox 电子表格 - 读取引用另一个 Excel 文件的单元格值

转载 作者:太空宇宙 更新时间:2023-11-03 12:10:54 32 4
gpt4 key购买 nike

我现在正在使用 GemBox Spreadsheet 来使用 C# 读取 Excel 文件。在 Excel 文件中,有一个单元格包含引用另一个 Excel 文件的日期值。

The Excel Cell Formula Screenshot

在 C# 中,起初,我得到的值为零。基于GemBox Retrieving Calculated Values From a Spreadsheet or Flexcel发布后,我将 Load 方法替换为 XlsxOptions.PreserveMakeCopy。替换后,我得到了一些随机值,如 43257,而不是日期值。我不确定它的值(value)是多少。

C# debug value

这是代码片段:

public void Export()
{

SpreadsheetInfo.SetLicense(FileExport.GemBoxLicenseKey);
ExcelFile ef = new ExcelFile();
FileExport file = new FileExport();
ef.LoadXlsx(locationPath + "\\XX.xlsx", GemBox.Spreadsheet.XlsxOptions.PreserveMakeCopy);

ExcelWorksheet ws = ef.Worksheets[0];

try
{
int trackrowcount = 0;
int columncounter = 1;
DateTime date = DateTime.MinValue;

foreach (ExcelRow row in ws.Rows)
{
trackrowcount += 1;

if (trackrowcount < 4)
continue;

columncounter = 1;

foreach (ExcelCell cell in row.AllocatedCells)
{
if (cell.Value != null)
{
if (trackrowcount == 4 && columncounter == 2)
{
var cellFormula = cell.Formula;
var cellValue = cell.Value;

//Here is where I am trying to get the date value
date = Convert.ToDateTime(cellValue);
}
}
columncounter += 1;
}
}
// and so on
}
catch (Exception ex)
{
}
}

有没有我遗漏的设置?

最佳答案

您正在获取数据类型为 doubleOADate 格式的日期。您必须将其转换回 DateTime 格式。

double dateValue = 43257;
DateTime date = DateTime.FromOADate(dateValue);

关于C# Gembox 电子表格 - 读取引用另一个 Excel 文件的单元格值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52378665/

32 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com