Я пытаюсь скопировать определенные данные с листа на другой, но некоторые ячейки представляют собой простые строки, а некоторые — гиперссылки. Если я использую StringCellValue для строк, все в порядке, но я не нашел способа скопировать гиперссылки с исходного листа на новый, который я создаю.
Для построения нового листа и копирования данных я использую NPOI.
//ОБНОВЛЕНИЕ Я добавил код для вставки гиперссылок, но когда я запускаю программу, она показывает следующее исключение: Ссылка на объект не указывает на экземпляр объекта.
Вот мой код:
using (FileStream fs = new FileStream(@"C:\Users\File.xlsx", FileMode.Open, FileAccess.Read, FileShare.ReadWrite))
{
Console.WriteLine("Time to wait....");
templateWorkbook = new XSSFWorkbook(fs);
}
row.GetCell(6).SetCellValue(sheettoget.GetRow(1).GetCell(13).StringCellValue);
var sourceLink = sheettoget.GetRow(1).GetCell(13).Hyperlink;
if(sourceLink != null)
{
Console.WriteLine("Inserting first Juice session...");
var targetLink = new XSSFHyperlink(sourceLink.Type);
targetLink.Address = sourceLink.Address;
}
row.GetCell(6).Hyperlink = targetLink;
row.GetCell(6).CellStyle = sheettoget.GetRow(1).GetCell(13).CellStyle;