- Joined
- Dec 6, 2014
- Messages
- 122
- Reaction score
- 129
- Points
- 43
добрый день, форумчане.
столкнулся с такой проблемой, пишу для себя парсер, и в числе всего прочего он парсит картинки и должен вставлять их в эксель.
И вот тут кроется основная проблема:
как сделать чтобы открывался существующий файл?
я использую вот эту конструкцию
Если я использую текстовые значения то отлично открывается существующий файл и в него дописываются новые строки/столбцы, если же пробую добавить картинку то вылазиет ошибка
CSharp OwnCode Name already exists in the drawings collection(ID ff2c4863-3956-4db3-89fd-9711f09f5058 ), если же удалить существующий эксель файл, то он создатся заного и в него допишется картинка, при повторном открытии скрипт выдаст ошибку
столкнулся с такой проблемой, пишу для себя парсер, и в числе всего прочего он парсит картинки и должен вставлять их в эксель.
И вот тут кроется основная проблема:
как сделать чтобы открывался существующий файл?
я использую вот эту конструкцию
Code:
FileInfo file = new FileInfo(project.Variables["file"].Value);
Image logo = Image.FromFile(project.Variables["avatar"].Value);
if (!(file.Exists))
{
file = new FileInfo(project.Variables["file"].Value); // если файла не существует - создаем
using (ExcelPackage package = new ExcelPackage(file))
{
ExcelWorksheet worksheet = package.Workbook.Worksheets.Add("новый лист"); //добавляем лист в книгу
package.Save();
}
}
using (FileStream fs2 = file.Open(FileMode.OpenOrCreate, FileAccess.ReadWrite, FileShare.None)){ } // открываем созданный/существующий файл
using (ExcelPackage package = new ExcelPackage(file))
{
ExcelWorksheet worksheet = package.Workbook.Worksheets[1] ;
int a = Convert.ToInt32(project.Variables["row"].Value) ;
var picture = worksheet.Drawings.AddPicture(a.ToString(), logo);
picture.SetSize(100, 100);
picture.SetPosition(a, 0, 0, 0);
package.Save();
}
Если я использую текстовые значения то отлично открывается существующий файл и в него дописываются новые строки/столбцы, если же пробую добавить картинку то вылазиет ошибка
CSharp OwnCode Name already exists in the drawings collection(ID ff2c4863-3956-4db3-89fd-9711f09f5058 ), если же удалить существующий эксель файл, то он создатся заного и в него допишется картинка, при повторном открытии скрипт выдаст ошибку