我正在使用以下代码
// Declare variables and get the export options.
ExportOptions exportOpts = new ExportOptions();
ExcelFormatOptions excelFormatOpts = new ExcelFormatOptions();
DiskFileDestinationOptions diskOpts = new DiskFileDestinationOptions();
exportOpts = rpt.ExportOptions;
// Set the excel format options.
excelFormatOpts.ExcelConstantColumnWidth = 100;
excelFormatOpts.ExcelUseConstantColumnWidth = true;
exportOpts.ExportFormatType = ExportFormatType.ExcelRecord;
exportOpts.FormatOptions = excelFormatOpts;
// Set the disk file options and export.
exportOpts.ExportDestinationType = ExportDestinationType.DiskFile;
diskOpts.DiskFileName = strFilename;
exportOpts.DestinationOptions = diskOpts;
rpt.Export();
我正确地将数据导出到excel而不进行格式化。
问题:现在我需要格式化。我想在excel中设置列宽。
我可以这样做吗?
从上面的代码中,下面的行似乎不起作用
excelFormatOpts.ExcelConstantColumnWidth = 100;
excelFormatOpts.ExcelUseConstantColumnWidth = true;
我很欣赏这方面的任何帮助,因为这个问题正在耗费我的时间。
答案 0 :(得分:0)
我假设您有一个带有名称表的Excel工作表对象。
esheet.Cells.Style.EntireColumn.AutoFit();
试试这个。
答案 1 :(得分:0)
我在你的代码中看到了两个问题。
使用ExportFormatType.ExcelRecord,您应该使用ExcelDataOnlyFormatOptions类,而不是ExcelFormatOptions。 ExcelFormatOptions对应于ExportFormatType.Excel
C#版本中的ExcelConstantColumnWidth是缇,100是非常小的值。你应该乘以20。
我设法获得ExportFormatType.Excel案例的代码,但不是ExportFormatType.ExcelRecord。 ExcelDataOnlyFormatOptions的其他属性有效,但ExcelConstantColumnWidth仍不适用于我。