C# 使用EPPlus将背景图像添加到Excel不工作
我正在使用以下代码使用EPPlus将背景图像添加到Excel工作表中。但是保存的Excel没有任何背景图像。并且在使用联机Excel打开文件时,会显示工作簿已损坏C# 使用EPPlus将背景图像添加到Excel不工作,c#,.net,excel,office-interop,epplus,C#,.net,Excel,Office Interop,Epplus,我正在使用以下代码使用EPPlus将背景图像添加到Excel工作表中。但是保存的Excel没有任何背景图像。并且在使用联机Excel打开文件时,会显示工作簿已损坏 foreach (var file in Filelist) { // Load workbook //var fileInfo = new FileInfo(@file); FileStream fs = new
foreach (var file in Filelist)
{
// Load workbook
//var fileInfo = new FileInfo(@file);
FileStream fs = new FileStream(file, FileMode.Open, FileAccess.Read, FileShare.ReadWrite);
Bitmap bmp = new Bitmap("image.png");
//ExcelPackage pkg = new ExcelPackage(fs);
using (var package = new ExcelPackage(fs))
{
// Itterate through workbook sheets
foreach (var sheet in package.Workbook.Worksheets)
{
sheet.BackgroundImage.Image = bmp;
sheet.Protection.IsProtected = false;
}
package.SaveAs(new FileInfo(@"New.xlsx"));
}
fs.Close();
}
工作表上的BackgroundImage
有一个方法SetFromFile
,可以实现这一功能
完整代码
var file = @"c:\folder\spreadsheet.xlsx"; // Path to your source spreadsheet file here.
var image = @"c:\folder\background.png"; // Path to your background image here.
var imageFile = new FileInfo(image);
using (var fs = new FileStream(file, FileMode.Open, FileAccess.Read, FileShare.ReadWrite))
using (var package = new ExcelPackage(fs))
{
foreach (var sheet in package.Workbook.Worksheets)
{
sheet.BackgroundImage.SetFromFile(imageFile);
}
package.SaveAs(new FileInfo(@"c:\folder\new.xlsx")); // Path to destination spreadsheet file here;
}
工作表上的BackgroundImage
有一个方法SetFromFile
,可以实现这一功能
完整代码
var file = @"c:\folder\spreadsheet.xlsx"; // Path to your source spreadsheet file here.
var image = @"c:\folder\background.png"; // Path to your background image here.
var imageFile = new FileInfo(image);
using (var fs = new FileStream(file, FileMode.Open, FileAccess.Read, FileShare.ReadWrite))
using (var package = new ExcelPackage(fs))
{
foreach (var sheet in package.Workbook.Worksheets)
{
sheet.BackgroundImage.SetFromFile(imageFile);
}
package.SaveAs(new FileInfo(@"c:\folder\new.xlsx")); // Path to destination spreadsheet file here;
}
您是否尝试过@markmcwhiter问题中的技术,它用于在单元格中添加图像,对吗?我想添加背景图像。您是否尝试过@markmcwhiter问题中的技术,它用于在单元格中添加图像,对吗?我想添加一个背景图像。谢谢,但这在我的情况下也不起作用。你测试过代码吗?是的,我已经安装好并在我身边运行了。。。取得了预期的效果。您能提供任何反馈吗?请查看我的输出Excel表。另外,我只在上面的代码foreach(package.Workbook.Worksheets中的var表){Sheet.BackgroundImage.SetFromFile(new FileInfo(“image.png”))中替换了这一行;sheet.Protection.IsProtected=false;}
在将新的干净Excel文件集成到您的系统中之前,您可以按原样尝试上面的代码吗?谢谢,但这在我的情况下也不起作用。您测试过代码吗?是的,我已将其安装并运行在我的身边。。。取得了预期的效果。您能提供任何反馈吗?请查看我的输出Excel表。另外,我只在上面的代码foreach(package.Workbook.Worksheets中的var表){Sheet.BackgroundImage.SetFromFile(new FileInfo(“image.png”))中替换了这一行;sheet.Protection.IsProtected=false;}
在将新的干净Excel文件集成到您的系统之前,您是否可以按原样尝试上面的代码?