C# Word和Excel文件版本

C# Word和Excel文件版本,c#,excel,ms-word,ms-office,office-2007,C#,Excel,Ms Word,Ms Office,Office 2007,跟踪Excel和Word文件版本的最佳方法是什么 上次修改的日期对我不起作用,因为它会在您将文件复制到新位置后立即更改 我用的是c# 谢谢您的回复。也许有人可以帮忙: 我假设OpenXMLSDK中也有类似的东西,但没有检查。也许Aspose可以帮助: 我假设OpenXMLSDK中也有类似的东西,但没有检查。我认为文件信息的属性LastWriteTime应该解决这个问题 在本例中,模式可以类似于“Letter.doc”或“sheet.xls” 而PATH\u TO\u TRAKING\u FO

跟踪Excel和Word文件版本的最佳方法是什么

上次修改的日期对我不起作用,因为它会在您将文件复制到新位置后立即更改

我用的是c#

谢谢您的回复。

也许有人可以帮忙:

我假设OpenXMLSDK中也有类似的东西,但没有检查。

也许Aspose可以帮助:


我假设OpenXMLSDK中也有类似的东西,但没有检查。

我认为文件信息的属性LastWriteTime应该解决这个问题

在本例中,模式可以类似于“Letter.doc”或“sheet.xls”

PATH\u TO\u TRAKING\u FOLDER是基本文件夹,可以包含您正在跟踪的word/excel文件的不同版本

using System.IO;

class Foo
{

    public method Bla()
    {
        DirectoryInfo dir;
        List<FileInfo> lstFiles;
        string pattern ;
        string line ;

            //pattern can be something like "Letter.doc" or "Worksheet.xls"
        pattern = "OfficeFile.extension" ;

            //is the base folder that can contains the different versions of the word/excel files that you are tracking
        dir = new DirectoryInfo("PATH_TO_TRAKING_FOLDER");

        lstFiles = new List<FileInfo>(dir.EnumerateFiles(pattern, SearchOption.AllDirectories).OrderBy(x => x.LastWriteTime) ;

        foreach(FileInfo fi in lstFiles)
        {
            line = Strin.format("{0}:{1}", fi.Name,fi.LastWriteTime) ;
            Console.WriteLine(line) ;
        }
    }
}
使用System.IO;
福班
{
公共方法Bla()
{
目录信息目录;
列出所有文件;
字符串模式;
弦线;
//模式可以类似于“Letter.doc”或“sheet.xls”
pattern=“OfficeFile.extension”;
//是基本文件夹,可以包含要跟踪的word/excel文件的不同版本
dir=newdirectoryinfo(“指向跟踪文件夹的路径”);
lstFiles=新列表(dir.EnumerateFiles(pattern,SearchOption.AllDirectories).OrderBy(x=>x.LastWriteTime);
foreach(文件中的文件信息fi)
{
line=Strin.format(“{0}:{1}”,fi.Name,fi.LastWriteTime);
控制台写入线(行);
}
}
}

我认为FileInfo的属性LastWriteTime应该解决这个问题

在本例中,模式可以类似于“Letter.doc”或“sheet.xls”

PATH\u TO\u TRAKING\u FOLDER是基本文件夹,可以包含您正在跟踪的word/excel文件的不同版本

using System.IO;

class Foo
{

    public method Bla()
    {
        DirectoryInfo dir;
        List<FileInfo> lstFiles;
        string pattern ;
        string line ;

            //pattern can be something like "Letter.doc" or "Worksheet.xls"
        pattern = "OfficeFile.extension" ;

            //is the base folder that can contains the different versions of the word/excel files that you are tracking
        dir = new DirectoryInfo("PATH_TO_TRAKING_FOLDER");

        lstFiles = new List<FileInfo>(dir.EnumerateFiles(pattern, SearchOption.AllDirectories).OrderBy(x => x.LastWriteTime) ;

        foreach(FileInfo fi in lstFiles)
        {
            line = Strin.format("{0}:{1}", fi.Name,fi.LastWriteTime) ;
            Console.WriteLine(line) ;
        }
    }
}
使用System.IO;
福班
{
公共方法Bla()
{
目录信息目录;
列出所有文件;
字符串模式;
弦线;
//模式可以类似于“Letter.doc”或“sheet.xls”
pattern=“OfficeFile.extension”;
//是基本文件夹,可以包含要跟踪的word/excel文件的不同版本
dir=newdirectoryinfo(“指向跟踪文件夹的路径”);
lstFiles=新列表(dir.EnumerateFiles(pattern,SearchOption.AllDirectories).OrderBy(x=>x.LastWriteTime);
foreach(文件中的文件信息fi)
{
line=Strin.format(“{0}:{1}”,fi.Name,fi.LastWriteTime);
控制台写入线(行);
}
}
}

Office文档中有一个DateLastSavedOLE文档属性。有几种方法可以获取Office文档属性。我更喜欢使用Microsoft DSO DLL访问这些属性。您可以从中获取文件

下面是一个使用DSO DLL的示例

DSOFile.OleDocumentPropertiesClass oleDocumentPropertiesClass = 
                       new DSOFile.OleDocumentPropertiesClass();
oleDocumentPropertiesClass.Open("C:\\My Documents\\some excel file.xlsx");
MessageBox.Show(oleDocumentPropertiesClass.SummaryProperties.DateLastSaved.ToString());

如果您喜欢使用windows API,这里有一个示例,

Office文档中有一个DateLastSavedOLE文档属性。有几种方法可以获取Office文档属性。我更喜欢使用Microsoft DSO DLL访问这些属性。您可以从中获取文件

下面是一个使用DSO DLL的示例

DSOFile.OleDocumentPropertiesClass oleDocumentPropertiesClass = 
                       new DSOFile.OleDocumentPropertiesClass();
oleDocumentPropertiesClass.Open("C:\\My Documents\\some excel file.xlsx");
MessageBox.Show(oleDocumentPropertiesClass.SummaryProperties.DateLastSaved.ToString());

如果你喜欢使用Windows API,这里有一个例子,

取决于你拥有的用户的数量,以及你可以考虑查看一个正式版本控制工具的重要性。他们中有相当一部分人对于有限数量的文件有免费的版本,像Git或颠覆之类的工具是免费的。(至少可以)这些工具可以给你所有的东西,人,日期,时间内容,再加上像回滚和比较版本之类的方便的项目……当然,这可能是多余的……

取决于你拥有的用户数量,以及你可以考虑查看正式版本控制工具的重要性。拥有有限数量文件和工具(如git或subversion)的组是免费的(至少可以)。这些工具可以为您提供所有内容,包括人员、日期、时间内容,以及诸如回滚和比较版本等方便的项目…当然可能有些过火了…

也许?您是说在文档中打开更改跟踪并在文档更改时进行监视吗?不,不是跟踪更改。也许?您是说在hin文档和监控文档何时更改?不,不跟踪更改。如果您在不同版本上计算哈希或CRC以查看其内容是否确实有更改,而不仅仅是在日期,则可以改进此功能如果您在不同版本上计算哈希或CRC以查看其内容是否确实有更改,则可以改进此功能内容,而不仅仅是日期