为什么试图自动调整工作表的宽度或工作表上的单个列失败?

我有一列的内容被截断,我想避免必须双击右栏的阴沟来查看数据。 首先,我尝试自动安装整个shebang:

private void PopulatePivotTableDataSheet() { if (null == _produceUsagePivotDataList) return; AddColumnHeadingRowPivotData(); foreach (ProduceUsagePivotData pupd in _produceUsagePivotDataList) { AddPivotData(pupd.ItemCode, pupd.ItemDescription, pupd.Unit, pupd.MonthYear, pupd.Quantity, pupd.TotalPrice, pupd.IsContractItem); } _xlPivotDataSheet.Cells.AutoFit(); } 

…但最后一行失败,“范围类失败的AutoFit方法”

然后,我尝试将其应用到问题列中,如下所示:

 private void AddPivotData(String ItemCode, String ItemDescription, String Unit, String MonthYear, int Quantity, Decimal TotalPrice, Boolean IsContractItem) { var itemCodeCell = _xlPivotDataSheet.Cells[_lastRowAddedPivotTableData + 1, 1]; itemCodeCell.Value2 = ItemCode; var itemDescriptionCell = _xlPivotDataSheet.Cells[_lastRowAddedPivotTableData + 1, 2]; itemDescriptionCell.Value2 = ItemDescription; itemDescriptionCell.AutoFitWidth(); . . . 

…最后一行失败,“System .__ ComObject”不包含“AutoFitWidth”的定义

萨姆希尔的豆在这里发生了什么? 自动assembly应该很容易实现,不是吗?

这会将AutoFit应用于包含范围的列:

 _xlPivotDataSheet.Cells.EntireColumn.AutoFit();