Hello
Is there any way to convert Excel header index and row index when converting excel to html like display same as Aspose cells webgrid
A B C D
1 col1 col2 col3 col4
2 aa
3
4
5
Hi,
- Insert an empty row & column at index 0.
- Insert column names such as A, B, C in the first row. Similarly, insert row numbers such as 1, 2, 3 in the first column. They will serve as the header column & row respectively.
- Apply styles on the header column & row as they look in the MS Excel application.
- Create a range of cells covering the original data, and apply styles to replicate the grid view.
Worksheet sheet = book.Worksheets[0];
sheet.Cells.InsertColumn(0);
sheet.Cells.InsertRow(0);
sheet.Cells.Columns[0].Width = 4.75;
int maxCol = sheet.Cells.MaxColumn;
{
sheet.Cells[i, 0].PutValue(i);
}
for (int j = 1; j <= maxCol; j++)
{
sheet.Cells[0, j].PutValue(CellsHelper.ColumnIndexToName(j - 1));
}
Aspose.Cells.Style style = book.CreateStyle();
style.ForegroundColor = Color.LightGray;
style.Pattern = BackgroundType.Solid;
style.Font.IsBold = true;
style.VerticalAlignment = TextAlignmentType.Center;
style.HorizontalAlignment = TextAlignmentType.Center;
style.Borders[Aspose.Cells.BorderType.LeftBorder].LineStyle = CellBorderType.Thin;
style.Borders[Aspose.Cells.BorderType.LeftBorder].Color = Color.Black;
style.Borders[Aspose.Cells.BorderType.RightBorder].LineStyle = CellBorderType.Thin;
style.Borders[Aspose.Cells.BorderType.RightBorder].Color = Color.Black;
style.Borders[Aspose.Cells.BorderType.TopBorder].LineStyle = CellBorderType.Thin;
style.Borders[Aspose.Cells.BorderType.TopBorder].Color = Color.Black;
style.Borders[Aspose.Cells.BorderType.BottomBorder].LineStyle = CellBorderType.Thin;
style.Borders[Aspose.Cells.BorderType.BottomBorder].Color = Color.Black;
StyleFlag styleFlagHeader = new StyleFlag();
styleFlagHeader.All = true;
sheet.Cells.Rows[0].ApplyStyle(style, styleFlagHeader);
sheet.Cells.Columns[0].ApplyStyle(style, styleFlagHeader);
Aspose.Cells.Range range = sheet.Cells.CreateRange(“B1”, CellsHelper.ColumnIndexToName(maxCol) + (maxRow + 1));
StyleFlag styleFlagGrid = new StyleFlag();
styleFlagGrid.Borders = true;
range.ApplyStyle(style, styleFlagGrid);
book.Save(dir + “output.xlsx”, Aspose.Cells.SaveFormat.Xlsx);
book.Save(dir + “output.html”, new HtmlSaveOptions());
This is a wrong way to do this.
When you add a column and row, the formula’s in other cells will mess up and show up wrong in html.
Look in attachment, the fomulat B3:B5 became C3:C5, when in fact col heading shows BUntitled.png (10.3 KB)
@cary.arvidson,
Thank you for your query. Please provide your runnable sample console application, template Excel file, program output files and expected output file generated by using Excel only. It will help us to reproduce the scenario with your sample template file and provide our feedback after comparison with the expected output file.
P.S. Please create a new thread as it will help us to maintain the sample data and other information related to this issue.