У меня есть папка «Папка» со многими подкаталогами внутри этого каталога. Внутри каждого подкаталога есть много изображений. Я хочу перебирать подкаталоги в каталоге «Папка», а затем перебирать все изображения в каждом каталоге, чтобы экспортировать изображения в Excel, с изображениями из каждого подкаталога на одном листе Excel.Loop через подкаталоги в каталоге
См., Например, если у меня есть десять подкаталогов, у меня должна быть одна книга Excel с десятью листами Excel, тогда на каждом листе Excel будут изображения из каждого подкаталога.
Это то, что я пытался, но только образы появлялись на Worksheet1 вместо всех рабочих листов:
public void ExportToExcel()
{
//for export
ExcelPackage objExcelPackage = new ExcelPackage(); //create new workbook
string[] filesindirectory = Directory.GetDirectories(Server.MapPath("~/Folder"));
int count = 0;
int count1 = 0;
int x = 25;
int finalValue = 0;
foreach (string subdir in filesindirectory)
{
count++;
ExcelWorksheet ws = objExcelPackage.Workbook.Worksheets.Add("Worksheet" + count); //create new worksheet
foreach (string img in Directory.GetFiles(subdir))
{
count1++;
System.Web.UI.WebControls.Image TEST_IMAGE = new System.Web.UI.WebControls.Image();
System.Drawing.Image myImage = System.Drawing.Image.FromFile(img);
var pic = ws.Drawings.AddPicture(count1.ToString(), myImage);
// Row, RowoffsetPixel, Column, ColumnOffSetPixel
if (count1 > 1)
{
pic.SetPosition(finalValue, 0, 2, 0);
finalValue += (x + 1); // Add 1 to have 1 row of empty row
}
else
{
pic.SetPosition(count1, 0, 2, 0);
finalValue = (count1 + x) + 1; // Add 1 to have 1 row of empty
}
}
}
var filepath = new FileInfo(@"C:\Users\user\Desktop\Test\" + datetime.ToString("dd-MM-yyyy_hh-mm-ss") + ".xlsx");
objExcelPackage.SaveAs(filepath);
}
Как Переберите каждого подкаталогов в каталоге, а затем цикл через все изображения от каждого суб с помощью C#?
Какая ошибка у вас возникла? – MickyD
hi @Micky, я получаю ошибку на этой строке: «foreach (string img in subdir)», ошибка «не может преобразовать символ в строку». –
Это может дать некоторую идею: http://stackoverflow.com/questions/29991439/cannot-convert-type-char-to-string –