1

我正在使用下面的代码

// 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;

我很感激在这方面的任何帮助,因为这个问题正在占用我的时间。

4

2 回答 2

0

我保证你有一个名为 esheet 的 excel 工作表对象。

esheet.Cells.Style.EntireColumn.AutoFit();

尝试这个。

于 2013-07-09T09:22:39.083 回答
0

我在您的代码中看到两个问题。

  1. 使用 ExportFormatType.ExcelRecord,您应该使用 ExcelDataOnlyFormatOptions 类,而不是 ExcelFormatOptions。ExcelFormatOptions 对应于 ExportFormatType.Excel

  2. C# 版本中的 ExcelConstantColumnWidth 以缇为单位,100 是非常小的值。你应该乘以 20。

我设法获得了 ExportFormatType.Excel 案例的工作代码,但没有获得 ExportFormatType.ExcelRecord 的工作代码。ExcelDataOnlyFormatOptions 的其他属性有效,但 ExcelConstantColumnWidth 仍然对我不起作用。

于 2018-05-10T09:10:38.210 回答