希望一切都好。
我有多个数量统计,每个数量都有一个特定的工作表。 当我想为他们创建表时遇到错误错误是“表名称无效” 该代码适用于单个工作表。
// Filter schedules to be exported
foreach (ViewSchedule schedule in scheduleCollector.Cast<ViewSchedule>())
{
if (selectedSchedules.Contains(schedule.Name))
{
exportSchedules.Add(schedule);
}
}
// Export schedules to Excel
using (ExcelPackage package = new ExcelPackage())
{
foreach (var schedule in exportSchedules)
{.
.
.
.
.
.
.
}
table(dataRange,worksheet, schedule.Name);
private void table(ExcelRange dataRange, ExcelWorksheet worksheet,string schedulenametable)
{
// Create Excel Table
var table = worksheet.Tables.Add(dataRange, schedulenametable);
table.TableStyle = TableStyles.Light1; // Choose a table style
// Auto-filter on headers
table.ShowHeader = true;
table.ShowFilter = true;
table.ShowTotal = false;
}
`
如果您帮助我,我真的很感激。
我还用taskdialog检查了schedule.name,结果是每个数量的统一名称,但多表的idk怎么可能做到这一点?
我认为您的问题是 Revit 明细表的名称中可能包含 Excel 表格中不允许的字符。
查看此Excel 文档链接以了解允许的字符:
名称重要注意事项
使用有效字符 — 名称始终以字母、 下划线字符 (_) 或反斜杠 ()。使用字母、数字、 名称的其余部分使用句点和下划线字符。
例外:您不能使用“C”、“c”、“R”或“r”作为名称,因为 它们已被指定为选择列或的快捷方式 当您在“名称”或“转到”框中输入活动单元格的行时。
不要使用单元格引用 - 名称不能与单元格相同 参考,例如 Z$100 或 R1C1。
不要使用空格来分隔单词 — 空格不能在单词中使用 姓名。考虑如何不使用空格来书写名称。或者,使用 下划线字符 (_) 或句点 (.) 作为单词分隔符。示例: 销售部门、销售税或第一季度。
最多 255 个字符 — 表名称最多可包含 255 个字符。
使用唯一的表名称 - 不允许使用重复的名称。 Excel 没有 区分名称中的大写和小写字符,因此如果您 输入“Sales”,但同一名称中已有另一个名称“SALES” 工作簿,系统会提示您选择一个唯一的名称。