Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/arduino/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Aspose cells 日期值从dd-mm-yyyy转换为dd/mm/yyyy,同时使用aspose.cells for java将excel转换为html_Aspose Cells - Fatal编程技术网

Aspose cells 日期值从dd-mm-yyyy转换为dd/mm/yyyy,同时使用aspose.cells for java将excel转换为html

Aspose cells 日期值从dd-mm-yyyy转换为dd/mm/yyyy,同时使用aspose.cells for java将excel转换为html,aspose-cells,Aspose Cells,我在excel中有一个单元格,格式为日期,值为“31-03-2017”,但当我将excel导出为html时,它将转换为“31/03/2017” “03-31-2017”又是一个日期格式的单元格,但如预期的那样出现,如果我不得不推测的话,看起来dd-MM-yyyy格式有问题 我正在使用“aspose-cells-8.7.0”库 非常感谢您的帮助 代码片段 Workbook workbook = new Workbook(new FileInputStream(new File("filePath"

我在excel中有一个单元格,格式为日期,值为“31-03-2017”,但当我将excel导出为html时,它将转换为“31/03/2017”

“03-31-2017”又是一个日期格式的单元格,但如预期的那样出现,如果我不得不推测的话,看起来dd-MM-yyyy格式有问题

我正在使用“aspose-cells-8.7.0”库

非常感谢您的帮助

代码片段

Workbook workbook = new Workbook(new FileInputStream(new File("filePath")));
workbook.calculateFormula();
HtmlSaveOptions htmlSaveOptions = new HtmlSaveOptions();
htmlSaveOptions.setPresentationPreference(true);
htmlSaveOptions.setParseHtmlTagInCell(false);
htmlSaveOptions.setExportHiddenWorksheet(false);
workbook.save("outputPath", htmlSaveOptions);

发生此类问题的原因是您的机器,即操作系统的语言和区域设置。请参见下面的屏幕截图。您可以从这些界面更改您所在的地区和国家以及编号和日期格式

现在,无论何时更改您的地区或语言,您的日期都将看起来不同,因为您的日期是内置格式的,并且没有自定义格式

为了测试这一点,请更改区域并在Microsoft Excel中打开Excel文件,您将看到,您的日期现在看起来不同了

这意味着,您应该使用正确的区域和语言设置加载工作簿。以下是示例代码供您参考。请阅读其评论

Java

//Please load your workbook with correct Language and Region - Country Code
LoadOptions loadOptions = new LoadOptions();
loadOptions.setLanguageCode(CountryCode.USA);
loadOptions.setRegion(CountryCode.USA);

//Pass the load options while loading workbook
Workbook workbook = new Workbook(new FileInputStream(new File("filePath")), loadOptions);

注意:我在Aspose担任开发人员宣传员

我了解语言环境在内置日期函数中起着特别重要的作用,如果是这种情况,我希望它从dd-MM-yyyy(印度)变为MM-dd-yyyy(美国)。这里的问题是,它正在更改分隔符,正如我所说的(-to/)。不过,我会检查你的建议,并在这里更新。如果你碰巧发现任何更友好的更新,谢谢。我尝试了建议的解决方案,但行为相同,位置和区域设置正确。我认为,它应该解决你的问题。只需使用Microsoft Excel在新的Excel文件中创建一个日期,然后通过设置不同的地区和语言(如法语、巴西、德国、日本、中国等)执行我提供的代码,然后将文件保存为Pdf或Html,就会看到日期格式正在更改。这不应该只发生在Aspose.Cells中,当您更改语言和区域时,Microsoft Excel也会以不同的方式显示日期。谢谢你和问候。这是我正在使用的apose版本(aspose-cells-8.7.0)中的一个问题,它是从版本“8.9.2”中修复的,谢谢你的帮助