我在这行代码上有错误,我无法进入它,因为错误会立即弹出。有谁能告诉我这行代码到底是做什么的?
var image = ws2.Drawings.AddPicture(
imagesLocations[i].Name,
Image.FromFile(imagesLocations[i].Tests
.FirstOrDefault(t => t.IsReference)
.ImagePath));
错误:
抛出异常:'System.IO.FileNotFoundException' System.Drawing.dll程序
其他信息:C:\ Users \ ..“完整路径”.. \ Initial.png
一些声明:
ExcelWorksheet ws2 = package.Workbook.Worksheets.Add("Images");
// this is a list of locations, and "location" is a custom class
var imagesLocations = SelectedSession.GetTests()
.Where(t => t.IsReference)
.Select(t => t.Location)
.OrderBy(t => t.DateCreated)
.ThenBy(t => t.Name)
.ToList();
Test
是书面类的自定义对象
IsReference
是Boolean
的本地Test
ImagePath
是Test
所以错误是它试图从路径中获取图像以将其放入excel文件中。但是,图像不存在。我需要了解这行代码,以便我可以防止它发生。任何有关我如何做到这一点的帮助都非常有帮助。拜托,谢谢
答案 0 :(得分:1)
正如@HimBromBeere建议的那样,他是对的。
这就是我所做的,让我检查并运行错误:
var temp = imagesLocations[i].Tests.FirstOrDefault(t => t.IsReference).ImagePath;
if (File.Exists(temp))
{
var temp2 = Image.FromFile(temp);
var image = ws2.Drawings.AddPicture(imagesLocations[i].Name, temp2);
image.SetSize(375, 375);
image.SetPosition(i, 0, 1, 0);
}