Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/bash/16.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
C# 获取excel文件的内容创建日期_C#_Excel_File_Datetime - Fatal编程技术网

C# 获取excel文件的内容创建日期

C# 获取excel文件的内容创建日期,c#,excel,file,datetime,C#,Excel,File,Datetime,我的目标是显示excel文件的日期。 但是: 如果我从internet下载文件,则自动将创建日期和修改日期设置为当前时间和日期。 我查看了文件的属性,发现在“详细信息”部分的“个人信息”下有一个名为“源”的部分,其中有一个名为“源”的属性 使用原始日期文件“内容已创建” 有没有办法把它变成一根绳子 谢谢 在VBA中,您可以使用此工作簿获取属性。内置文档属性(“创建日期”)如下所示: Sub GetCreationDate() MsgBox ThisWorkbook.BuiltinDocument

我的目标是显示excel文件的日期。 但是: 如果我从internet下载文件,则自动将创建日期和修改日期设置为当前时间和日期。 我查看了文件的属性,发现在“详细信息”部分的“个人信息”下有一个名为“源”的部分,其中有一个名为“源”的属性 使用原始日期文件“内容已创建”

有没有办法把它变成一根绳子


谢谢

在VBA中,您可以使用
此工作簿获取属性。内置文档属性(“创建日期”)
如下所示:

Sub GetCreationDate()
MsgBox ThisWorkbook.BuiltinDocumentProperties("Creation Date")
End Sub

虽然我没有将c#与Excel一起使用,但MSDN文档有一个示例:

您可以使用Microsoft DSO OLE文档属性读取器来获取此信息

DSOFile.OleDocumentPropertiesClass oleDocumentPropertiesClass = new DSOFile.OleDocumentPropertiesClass();
oleDocumentPropertiesClass.Open("C:\\My Documents\\MyExcelFile.xls");
MessageBox.Show(oleDocumentPropertiesClass.SummaryProperties.DateCreated.ToString());

DSO文件可以从

下载。以下是一个示例,JPW仍应将其答案标记为分数。不是这个

Excel.Application eApp = null;
            Excel.Workbook eBook = null;
                eApp = new Excel.Application();

                eBook = eApp.Workbooks.Open(pathToFile, Missing.Value, Missing.Value, Missing.Value, Missing.Value, Missing.Value, Missing.Value, Missing.Value, Missing.Value, Missing.Value, Missing.Value, Missing.Value, Missing.Value, Missing.Value, Missing.Value);

                var docProp = eBook.BuiltinDocumentProperties("Creation Date");
                System.DateTime dt = docProp.Value;
                MessageBox.Show(dt.ToLongTimeString());

创建日期-日期为小写,不符合我链接的MSDN页面。为此工作簿中的每个bidp设置bidp。内置文档属性如果bidp.Name=“创建日期”,则MsgBox CStr(bidp.Value)结束,如果下一个名称值为,但看起来您的名称值也可以,我很抱歉。@Sorceri可能取决于版本,我运行了您的代码示例,它与
创建日期
一起工作,但我提供的
创建日期
的示例也是如此。(使用Excel 2010)。我也尝试了
创建日期
,效果也不错,所以我想它不区分大小写。谢谢大家的帮助。现在我在这一行中遇到一个错误:Microsoft.Office.Core.DocumentProperties dp=book.builtinocumentproperties;例外项是无效的castException。为什么?这对我有用。请注意,您必须添加DSO.dll并将其引用到项目中。另外,请注意此值可以为空。一定要记住这一点。谢谢jac@jac