0

私の Web アプリケーションでは、ユーザーは Excel レポートを取得できます。問題は、行のセルの 1 つに長いテキストが含まれているため、すべての行が大きくなり、Excel レポートが見栄えが悪い場合です。Excel ドキュメントのすべての行の最大行高を設定する必要があります。

 public bool UseOldFormat { get; set; }

 public ExcelFile GetExcelFile()
        {
            var excel = new ExcelFile();

            if (!string.IsNullOrEmpty(SourceFileName))
            {
                if (SourceFileName.EndsWith("xls"))
                {
                    excel.LoadXls(SourceFileName);
                }
                else
                {
                    excel.LoadXlsx(SourceFileName, XlsxOptions.PreserveMakeCopy);
                }
            }

            return excel;
        }

public void GenerateReport(string fileName)
        {
            ExcelFile excel = GetExcelFile();

            InsertDataInExcel(excel);

            if (UseOldFormat)
            {
                excel.SaveXls(fileName);
            }
            else
            {
                excel.SaveXlsx(fileName);
            }
        }

Excel のオプションでこの関数が見つかりません。誰でも助けることができますか?

4

2 に答える 2

2

列の範囲を指定して、以下のように列の幅、高さを調整できます。

Microsoft.Office.Tools.Excel.NamedRange setColumnRowRange;
    private void SetColumnAndRowSizes()
    {
        setColumnRowRange = this.Controls.AddNamedRange(
            this.Range["C3", "E6"], "setColumnRowRange");
        this.setColumnRowRange.ColumnWidth = 20;
        this.setColumnRowRange.RowHeight = 25;
        setColumnRowRange.Select();
    }

http://msdn.microsoft.com/en-us/library/microsoft.office.tools.excel.namedrange.rowheight.aspx にアクセスしてください。

于 2012-10-15T08:09:25.170 に答える
0

このマクロは、高すぎる行を含むファイルがある場合にうまく機能します:
(ドキュメント作成ツールに統合する方法は、オレグ、あなた次第です)

Sub MaxRowHeight()
    Dim Re As Long
    Re = ActiveCell.SpecialCells(xlLastCell).Row
    For i = 1 To Re
        If Rows(i).Height > 43.2 Then Rows(i).RowHeight = 43.2
    Next i
End Sub

クレジットはこの記事とそこでの議論に行きます:
http://excelribbon.tips.net/T010381_Adjusting_to_a_Maximum_Row_Height.html

于 2016-01-26T18:15:47.727 に答える