有没有办法在 r 中获取 excel 文件的内容创建时间?

Is there a way to get the content created time of an excel file in r?

我一直在尝试获取 .xlsx 文件内容的创建时间,但到目前为止没有成功。我可以通过 文件属性 -> 详细信息 -> 来源 -> 创建的内容 或通过打开 Excel 文件和导航到 文件 -> 信息 -> 相关日期 -> 创建

我希望我能够通过 openxlsx 获得这些信息,但是虽然我能够使用 getCreators() 功能追踪创作者,但似乎不存在类似的当时的功能。

我也试过file.info()功能,但它不会削减它因为mtimectimeatime都指向下载时间.

如有任何帮助,我们将不胜感激!

我认为 openxlsx 不会为您做这件事,但您可能想为他们提交 FR 以 add/extend 文件元数据可用性。假设 XLSX 文件是较新的基于 zip 的格式,而不是以前的二进制格式,这是紧要关头的事情。

myfile <- "path/to/yourfile.xlsx"
docProps <- xml2::read_xml(unz(myfile, "docProps/core.xml"))
docProps
# {xml_document}
# <coreProperties xmlns:cp="http://schemas.openxmlformats.org/package/2006/metadata/core-properties" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:dcterms="http://purl.org/dc/terms/" xmlns:dcmitype="http://purl.org/dc/dcmitype/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
# [1] <dc:creator>r2</dc:creator>
# [2] <cp:lastModifiedBy>r2</cp:lastModifiedBy>
# [3] <dcterms:created xsi:type="dcterms:W3CDTF">2021-05-09T20:01:41Z</dcterms:created>
# [4] <dcterms:modified xsi:type="dcterms:W3CDTF">2021-05-10T00:14:14Z</dcterms:modified>

xml2::xml_text(xml2::xml_find_all(docProps, "dcterms:created"))
# [1] "2021-05-09T20:01:41Z"

这是一个文本文件,因此您可以在紧要关头手动查看它,但我建议一般不要尝试对 XML 执行正则表达式。 (你可以在这里逃脱,但它仍然充满危险。)