[英]Get and Save particular Excel file in same location using C#
我正在使用 Asp.Net MVC 应用程序、Visual Studio 2013、SQL Server 数据库
我系统的本地驱动器中有一个特定位置,即 c:/Files/Exim_Files/ ,其中有很多 excel(.xlsx) 文件。 我想从该位置获取特定文件并以相同/不同名称以编程方式将其保存(不弹出保存)在同一位置。 保存excel数据时不应该丢失,文件应该保持原样,只是我需要再次保存/另存为。
我怎样才能达到这个要求?
请注意,我正在使用虚拟机并在虚拟机内部:未安装 Microsoft Office。 因此,代码必须在机器中没有安装 Microsoft Office 的情况下才能工作。 我只能在我的主机上使用 Microsoft Office。
在下面的代码中,我使用 Aspose.Cells 将 Excel 文件从一个位置保存到另一个位置。
我从数组“l_strFileUploadPath”中的 sharedLocation 获取特定文件,然后检查我从用户获取的文件是否存在于共享位置,然后我想将该文件保存/另存为不同的位置(在“字符串 str”中定义) ) 以及整个数据(比如我想在将 Excel 保存在不同位置的同时导入数据)。
我面临的问题是,保存在 C: 驱动器中的文件没有保存 Excel 中存在的数据。 似乎是在 c: 驱动器中创建一个新的 excel 文件,同名 (x-TECHNICAL_DIT_BUDV01_RV124_R01_2015_Test.xlsx) 有 2 张纸。 1 是“表 1”,另一个是“评估警告”表。
根据我的代码,如何删除“评估警告”表以及将确切文件(以及数据)从共享驱动器保存到 c: 驱动器的方法是什么。
这是第一次使用 Aspose.Cells 将文件从一个位置获取并保存/另存为另一个位置。
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);
}
}
}
对我来说,您似乎只想复制文件。
File.Copy(@"c:\excel.xsl", @"c:\other\excel.xsl");
编辑评论:
我认为很难更改 app.xml 元数据,而不仅仅是手动查看在保存/另存为期间所做的更改,然后尝试了解如何复制此行为并在该文件中以编程方式更改它。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.