【问题标题】:programmatically excel cells to be auto fit width & height以编程方式使单元格自动适应宽度和高度
【发布时间】:2012-10-03 14:56:28
【问题描述】:

当我将数据表转换为 .csv 时,我的 Excel 工作表生成如下:

并尝试如下:

sw.Write(string.Format("=\"{0}\"", drow[i].ToString()));

然后我的 excel 表是这样的:

注意单元格有 =" " 字符;

我正在尝试以编程方式自动调整每个单元格的宽度和高度。怎么样?

【问题讨论】:

  • 你试过Excel.Rows.AutoFitExcel.Columns.AutoFit吗?
  • 您是在创建一个 .csv 文件还是在使用 Microsoft.Office.Interop.Excel 创建一个实际的 excel 文件?
  • @paul 现在我只是通过流创建 xl;我需要在互操作中加载那个 xl 吗?谢谢你的回复....
  • @Terry 请在上面找到我的评论...
  • @Shankar 是的 - 我的建议只适用于互操作。

标签: c# excel office-interop


【解决方案1】:

尝试获取范围,然后进行自动调整

Range.Rows.AutoFit();
Range.Columns.AutoFit();

【讨论】:

    【解决方案2】:

    这些问题只是帮助我解决了部分问题。 我必须将数据复制到辅助工作表,然后将其发送到数据网格,但是当我这样做时,它会在数据网格中显示我的一些数据的 ######### 序列比领域本身更大。 所以我用 **sheets.UsedRange.Columns.AutoFit();** 每次创建新列时解决问题。 sheets 是我收到**Microsoft.Office.Interop.Excel.Worksheet** 的变量。

    非常感谢你们。

    【讨论】:

      【解决方案3】:

      我在另一个页面上找到了这个:

      C#

      http://www.spreadsheetgear.com/support/help/spreadsheetgear.net.3.0/SpreadsheetGear~SpreadsheetGear.IRange~AutoFit.html

      // 自动设置 B 列和 C 列的宽度。 worksheet.Cells["B:C"].Columns.AutoFit();

      // 将第 7 行到第 9 行的行高设置为自动。 worksheet.Cells["7:9"].Rows.AutoFit();

      【讨论】:

      • 那 ("xlWorkSheet.Cells["1:10"].Rows.AutoFit();") 对我来说是个错误,更具体地说是“System.Runtime.InteropServices.COMException 未处理”
      猜你喜欢
      • 2020-05-31
      • 1970-01-01
      • 1970-01-01
      • 2013-09-16
      • 2011-03-01
      • 2011-03-09
      • 2017-02-28
      • 1970-01-01
      • 2016-10-27
      相关资源
      最近更新 更多