使用C#

时间:2017-03-22 08:04:19

标签: c# asp.net

我使用的是Asp.Net MVC应用程序,Visual Studio 2013,SQL Server数据库

我系统的本地驱动器中有一个特定的位置,即c:/ Files / Exim_Files /,其中有很多excel(.xlsx)文件。 我想要从该位置获取特定文件并以相同/不同的名称以编程方式(不保存弹出窗口)保存它。 保存excel数据不应该丢失,文件应该是原样,只需要再次保存/保存。

请告诉我如何达到此要求?我做了很多谷歌研究,但找不到任何解决方案。 提前致谢。

请注意我使用的是虚拟机和虚拟机内部,未安装Microsoft Office。 因此,请让我知道在计算机中没有安装Microsoft Office的情况下运行的代码。 我只能在我的主机上使用Microsoft Office。

修改

在下面的代码中,我使用Aspose.Cells将excel文件从1个位置保存到另一个位置。

我从数组中的sharedLocation获取特定文件" l_strFileUploadPath"然后检查, 如果我从用户那里获得的文件存在于共享位置,那么我想保存/保存它 将文件放入不同的位置(在'字符串str'中定义)以及整个数据(假设我要导入数据) 同时将Excel保存在不同的位置。)

我面临的问题是,在C:驱动器中保存的文件不保存excel中存在的数据。 它似乎是在c:驱动器中创建一个新的excel文件,其名称相同(x-TECHNICAL_DIT_BUDV01_RV124_R01_2015_Test.xlsx)有2张。 1是表1'另一个是评估警告'片材。

请告诉我如何删除评估警告'片 根据我的代码,将共享驱动器中的确切文件(以及数据)保存到c:驱动器的方法是什么。

我错过了什么吗?

请注意,我是第一次使用Aspose.Cells来获取和保存/保存文件从1个位置到另一个位置。

非常感谢任何帮助。

提前致谢。

protected void getFileAndSave()
{
    string[] l_strFileUploadPath = Directory.GetFiles("//181.184.11.435/share//Temp/New folder");

    foreach (var filename in l_strFileUploadPath)
    {
            string fileName = Path.GetFileName(filename);
            string p_filename = "x-TECHNICAL_DIT_Test.xlsx"; //this is the file I am getting from user

            if (fileName == p_filename)
            {
                //-- Using Aspose.Cells
                    Workbook wb = new Workbook();

                    Worksheet worksheet = wb.Worksheets["Sheet1"];
                    worksheet.Name = "Technical Data";

                    //Save workbook with export cell as true
                    OoxmlSaveOptions opts = new OoxmlSaveOptions();
                    opts.ExportCellName = true;
                    wb.Save(str + file, opts);

            }
    }
}

1 个答案:

答案 0 :(得分:0)

对我来说,你只想复制文件。

查看File.Copy()

File.Copy(@"c:\excel.xsl", @"c:\other\excel.xsl");

编辑评论:

我认为更改app.xml元数据很难,只需手动查看在save / saveAs期间对其进行的更改,然后尝试了解如何复制此行为并在该文件中以编程方式更改它。