2012-07-12 69 views
0

我已经编写了打开excel文件的代码。我有兴趣将Excel文件保存在临时文件夹中,一旦用户指明要打开哪个文件。这是为了我以后的应用程序来阅读excel并对其进行任何操作。 这里是我下面的代码:在c的临时文件夹中保存excel文件#

private void btnbrowseFile_Click(object sender, EventArgs e) 
      { 
      openFileDialog1.Title = "Select an Excel file"; 
      openFileDialog1.InitialDirectory = @"c:\"; 
      openFileDialog1.Filter = "Excel 97-2007 WorkBook|*.xls|Excel WorkBook|*.xlsx|All Excel Files|*.xls;*.xlsm;*.xlsx"; 
      openFileDialog1.FilterIndex = 3; 
      openFileDialog1.RestoreDirectory = true; 

      if (openFileDialog1.ShowDialog() == DialogResult.OK) 
      { 
       txtFilename.Text = openFileDialog1.FileName; 
      } 

     } 
+0

你怎么然后打开该文件?您必须具有对Excel.Application的引用,然后才能调用Application.Workbooks.Save方法并将路径传递到要将文件保存到的位置。 OTH,Excel自动保存工作簿的备份副本。 – martin 2012-07-12 08:23:29

+0

@martin我想让用户选择一个我必须保存在临时文件夹中的excel文件。从临时文件夹中,我可以通过查询并显示或输入数据到数据库来操作文件。 – Sithelo 2012-07-12 10:35:21

回答

1

你可以做这样的事情

if (openFileDialog1.ShowDialog() == DialogResult.OK) 
{ 
    File.Copy(openFileDialog1.FileName, Path.Combine(Path.GetTempPath(), Path.GetFileName(openFileDialog1.FileName)), true); 
} 
+0

我注意到字符串fileName来自临时文件名。我想从用户选择的文件名。 – Sithelo 2012-07-12 09:23:26

+0

@Sithelo好吧,我编辑了我的答案,所以它使用原始文件名。 – 2012-07-12 09:25:35

+0

哦,我看到了,但是它可能会将其复制到相同的目录或路径,因为它给了我一个文件存在的错误。 – Sithelo 2012-07-12 09:30:31

2

你可以找到与

Path.GetTempPath(); 

用户临时文件夹,并File.Copy();

工作,该文件复制它在那里,当你的魔法完成,做你想要的。

+0

我意识到我只是C#中的新手。我添加了字符串tempfolder = Path.GetTempPath();和File.Copy(sourceFileName,“optic.xls”,true); ,但我的文件甚至没有保存。我还没有试图将它复制到我的临时文件中。正在测试。 – Sithelo 2012-07-12 09:14:34