Usuário com melhor resposta
Propriedade de Arquivo Excel.

Pergunta
-
Olá Senhores, bom dia
Preciso de uma ajudinha, é o seguinte: Tenho uma aplicação em C# onde importo uma planilha Excel, eu preciso acessar as propriedades desse arquivo excel para descobrir quando essa planilha foi gerada, isso é essencial para o funcionamento da minha aplicação, isso é possível ?
Desde já agradeço ...
Elton Araujo
- Movido AndreAlvesLimaModerator terça-feira, 14 de agosto de 2012 19:58 (De:Conteúdo do site MSDN)
Respostas
-
Elton,
Através da classe FileInfo é possível ter esse informação.
A classe possui um método Attributes, que você pode pegar o CreateTime. Abaixo tem um código com o exemplo do MSDN Library:
using System; using System.IO; namespace ConsoleApplication2 { class Program { static void Main(string[] args) { // Loop through all the immediate subdirectories of C. foreach (string entry in Directory.GetDirectories(@"C:\")) { DisplayFileSystemInfoAttributes(new DirectoryInfo(entry)); } // Loop through all the files in C. foreach (string entry in Directory.GetFiles(@"C:\")) { DisplayFileSystemInfoAttributes(new FileInfo(entry)); } } static void DisplayFileSystemInfoAttributes(FileSystemInfo fsi) { // Assume that this entry is a file. string entryType = "File"; // Determine if entry is really a directory if ((fsi.Attributes & FileAttributes.Directory) == FileAttributes.Directory ) { entryType = "Directory"; } // Show this entry's type, name, and creation date. Console.WriteLine("{0} entry {1} was created on {2:D}", entryType, fsi.FullName, fsi.CreationTime); } } } // Output will vary based on contents of drive C. // Directory entry C:\Documents and Settings was created on Tuesday, November 25, 2003 // Directory entry C:\Inetpub was created on Monday, January 12, 2004 // Directory entry C:\Program Files was created on Tuesday, November 25, 2003 // Directory entry C:\RECYCLER was created on Tuesday, November 25, 2003 // Directory entry C:\System Volume Information was created on Tuesday, November 2, 2003 // Directory entry C:\WINDOWS was created on Tuesday, November 25, 2003 // File entry C:\IO.SYS was created on Tuesday, November 25, 2003 // File entry C:\MSDOS.SYS was created on Tuesday, November 25, 2003 // File entry C:\pagefile.sys was created on Saturday, December 27, 2003
Caso queria mais informações pode ver nos links abaixo:
http://msdn.microsoft.com/pt-br/library/system.io.fileinfo.aspx
http://msdn.microsoft.com/pt-br/library/system.io.filesysteminfo.aspxAbs!
Alexsandre Rodrigues de Almeida - MCTS .NET Framework - Web Applications
E-mail: alexsandrer@gmail.com
Twitter: @AlexRAlmeida- Marcado como Resposta AndreAlvesLimaModerator terça-feira, 14 de agosto de 2012 19:58
Todas as Respostas
-
Elton,
Através da classe FileInfo é possível ter esse informação.
A classe possui um método Attributes, que você pode pegar o CreateTime. Abaixo tem um código com o exemplo do MSDN Library:
using System; using System.IO; namespace ConsoleApplication2 { class Program { static void Main(string[] args) { // Loop through all the immediate subdirectories of C. foreach (string entry in Directory.GetDirectories(@"C:\")) { DisplayFileSystemInfoAttributes(new DirectoryInfo(entry)); } // Loop through all the files in C. foreach (string entry in Directory.GetFiles(@"C:\")) { DisplayFileSystemInfoAttributes(new FileInfo(entry)); } } static void DisplayFileSystemInfoAttributes(FileSystemInfo fsi) { // Assume that this entry is a file. string entryType = "File"; // Determine if entry is really a directory if ((fsi.Attributes & FileAttributes.Directory) == FileAttributes.Directory ) { entryType = "Directory"; } // Show this entry's type, name, and creation date. Console.WriteLine("{0} entry {1} was created on {2:D}", entryType, fsi.FullName, fsi.CreationTime); } } } // Output will vary based on contents of drive C. // Directory entry C:\Documents and Settings was created on Tuesday, November 25, 2003 // Directory entry C:\Inetpub was created on Monday, January 12, 2004 // Directory entry C:\Program Files was created on Tuesday, November 25, 2003 // Directory entry C:\RECYCLER was created on Tuesday, November 25, 2003 // Directory entry C:\System Volume Information was created on Tuesday, November 2, 2003 // Directory entry C:\WINDOWS was created on Tuesday, November 25, 2003 // File entry C:\IO.SYS was created on Tuesday, November 25, 2003 // File entry C:\MSDOS.SYS was created on Tuesday, November 25, 2003 // File entry C:\pagefile.sys was created on Saturday, December 27, 2003
Caso queria mais informações pode ver nos links abaixo:
http://msdn.microsoft.com/pt-br/library/system.io.fileinfo.aspx
http://msdn.microsoft.com/pt-br/library/system.io.filesysteminfo.aspxAbs!
Alexsandre Rodrigues de Almeida - MCTS .NET Framework - Web Applications
E-mail: alexsandrer@gmail.com
Twitter: @AlexRAlmeida- Marcado como Resposta AndreAlvesLimaModerator terça-feira, 14 de agosto de 2012 19:58
-
-
Alexsandre, boa tarde
Vou abusar um pouco, será que poderia me dar mais uma ajuda ? É o seguinte: Essa planilha do Excel que eu importo para o sistema, é originalmente criada com uma extensão .SLK (Excel), o cliente abre esse essa planilha, manda salvar como e põe a extensão xls, a principio seria feito assim, pois estou usando WorkBook do Excel para poder abrir o arquivo e salvar em banco e só funciona com xls, mas aí que vem o problema, se eu abro o arquivo e mando salvar como, mudando a extensão, eu perco a data de criação do arquivo original e acabo fugindo da regra que eu preciso, teria como resolver isso ?
Elton Araujo
-
Elton,
Ao salvar como, a data de criação do documento é alterada mesmo, na verdade é gerado um novo documento, por isso nova data de criação.
Onde é gerado o arquivo SLK? Não tem a opção de gerar em outro formato, que você possa ler sem ter que alterar o arquivo para xls? Uma forma seria o arquivo vim como CSV. E você poderia ler com OleDb. Não serviria? Se servir nesse link tem um post de como ler csv e outros tipos de arquivos com OleDb.
Abs!
Alexsandre Rodrigues de Almeida - MCTS .NET Framework - Web Applications
E-mail: alexsandrer@gmail.com
Twitter: @AlexRAlmeida -