我正在制作一个加载项,我正在尝试格式化我的加载项生成的输出,使用格式作为 Excel 提供的表格样式。
您在功能区上的“主页选项卡”->“格式为表格”按钮上获得的那个。
我正在使用以下代码:
SourceRange.Worksheet.ListObjects.Add(XlListObjectSourceType.xlSrcRange,
SourceRange, System.Type.Missing, xlYesNo, System.Type.Missing).Name =
TableName;
SourceRange.Select();
SourceRange.Worksheet.ListObjects[TableName].TableStyle = TableStyleName;
TableStyleName 是任何样式名称,例如 TableStyleMedium17,如果您将鼠标悬停在 Excel 中的特定样式,您就会得到它。
我的问题是,即使我保留SourceRange
10 列,直到最后的所有列都被选中并被视为一个表。因为我在它旁边填充的表也被认为是生成的第一个表的一部分。因为,两个表都具有相同的列名,所以 Excel 会自动更改以下所有生成的表中的列名。另外,因为我在生成 2 个表后循环生成表,所以我收到错误:
一个表不能与另一个表重叠。
PS:我清楚地提到SourceRange
:
var startCell = (Range)worksheet.Cells[startRow, startCol];
var endCell = (Range)worksheet.Cells[endRow, endCol];
var SourceRange = worksheet.get_Range(startCell, endCell);
请提出一条出路。