Разбейте одну таблицу на несколько таблиц
Я экспортирую таблицу из рабочей книги excel в pdf с помощью itextsharp. У меня есть таблица в книге excel с почти 50 плюс столбцами. Я хочу разбить его на несколько таблиц, каждая из которых имеет только 10 столбцов. Таблица столбцов 50plus имеет одну строку заголовка и одну строку со значением...всего две строки.
Ниже приведен код для экспорта данных из excel в pdf...
using (XLWorkbook workBook = new XLWorkbook(filePath.FullName)) { IXLWorksheet workSheet = workBook.Worksheet(1); bool firstRow = true; PdfPTable table = new PdfPTable(1); foreach (IXLRow row in workSheet.Rows()) { if (firstRow) { table.ResetColumnCount(row.Cells().Count()); table.WidthPercentage = 100; table.HeaderRows = 1; foreach (IXLCell cell in row.Cells()) { PdfPCell pdfcell = new PdfPCell(new Phrase(cell.Value.ToString())); pdfcell.HorizontalAlignment = PdfPCell.ALIGN_CENTER; pdfcell.VerticalAlignment = PdfPCell.ALIGN_MIDDLE; pdfcell.BackgroundColor = new iTextSharp.text.BaseColor(System.Drawing.Color.Orange); table.AddCell(pdfcell); } firstRow = false; } else { foreach (IXLCell cell in row.Cells()) { PdfPCell pdfcell = new PdfPCell(new Phrase(cell.Value.ToString().Trim(), tableFont)); //Align the cell in the center pdfcell.HorizontalAlignment = PdfPCell.ALIGN_CENTER; pdfcell.VerticalAlignment = PdfPCell.ALIGN_MIDDLE; table.AddCell(pdfcell); } } } pdfDoc.Add(table); }
Что я уже пробовал:
int chunkSize = 10; // Grouping Columns/cells into 'chunks' var chunks = row.Cells().Select((x, i) => new { Index = i, Value = x }) .GroupBy(x => x.Index / chunkSize) .Select(x => x.Select(v => v.Value).ToList()) .ToList();
но выше код будет иметь только строки заголовка.
Richard MacCutchan
В чем же проблема?
Laxmidhar tatwa technologies
PdfPTable table = new PdfPTable(10); // 10-номер столбца