1
我正在使用c#Excel Interop並試圖使合併單元格的高度適合其內容。在合併單元格自動調整不能出於某種原因做,所以我用下面的方法Excel - 列寬不匹配多個加起來
private void AutoFitAndMerge(Range toMerge, Range contentCell) {
// Get Width of entire Merged Cell
double width = 0.0;
foreach (Range col in toMerge.Columns) {
width += col.ColumnWidth;
}
// mimic merged cell with regular cell
var cellWidth = contentCell.ColumnWidth;
contentCell.ColumnWidth = width;
contentCell.WrapText = true;
// autofit the regular cell and copy that to merged
contentCell.Rows.AutoFit();
var wantedHeight = contentCell.RowHeight;
// set it back
contentCell.ColumnWidth = cellWidth;
toMerge.Merge();
toMerge.WrapText = true;
toMerge.RowHeight = wantedHeight;
}
這在一開始正常工作除了這樣做,當我設置contentCell的寬度與合併單元格總寬度,它不正確加起來。
問題是,contentCell最終會稍微變小,導致內容有時會再次迴繞,併爲合併的單元格分配太多空間。
這也發生在excel中,當你將兩個或更多的列寬相加並將它分配給單元格爲寬度時,它最終會稍微變小。
單元格是否具有某種填充/邊距,我該如何考慮?