c# – 为什么尝试自动调整工作表的宽度或该工作表上的单个列失败?
作者:互联网
我有一个列的内容被截断,我想避免必须双击右栏排水沟才能看到数据.首先,我尝试自动调整整个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();
}
…但最后一行失败,“Range类的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’的定义”
Sam Hill o’豆子在这里发生了什么?自动调整应该很容易实现,不是吗?
解决方法:
这将AutoFit应用于包含范围的列:
_xlPivotDataSheet.Cells.EntireColumn.AutoFit();
标签:c,excel,excel-interop,column-width 来源: https://codeday.me/bug/20190702/1352403.html