0

ここに画像の説明を入力

水平に分割されたセルに値を合わせるにはどうすればよいですか? 各行を動的に複製しています。このアプローチを使用していたため、現在入力されている値はマージ フィールドですが、レポートを動的にすることはできませんでした。どんな助けでも大歓迎です。

4

1 に答える 1

1

MS Excel では、1 つのセルに 2 つの値を入力することはできません。一部のセルをマージ/マージ解除し、それに応じて関連するセルに値を入力することで、タスクを達成できると思います。参照用に以下のサンプル コードを参照してください。添付されたテーブル/マトリックスの一部をカバーして設計します。それを参照してください。(Aspose.Cells API を介して) 独自のコードを記述して、それに応じてタスクを実行できます。

  var workbook = new Workbook();
        var worksheet = workbook.Worksheets[0];

        //Input header value to B1 cell (later we will merge it: B1:C1 --> B1
        worksheet.Cells[0, 1].PutValue("header2");

        //Input value to B2 cell that would be merged with B3 to become B2.
        worksheet.Cells[1, 1].PutValue(1);

        //Input value to C2 cell.
        worksheet.Cells[1, 2].PutValue(2);

        //Input value to C3 cell.
        worksheet.Cells[2, 2].PutValue(3);

        //Set row heights for 2nd and third rows for the cells accordingly.
        worksheet.Cells.SetRowHeight(1, 25);
        worksheet.Cells.SetRowHeight(2, 25);

        //Merging cells.
        //Merge B1:C1 --> B1
        worksheet.Cells.Merge(0, 1, 1, 2);
        //Merge B2:B3 --> B2
        worksheet.Cells.Merge(1, 1, 2, 1);


        //Formatting cells and ranges.
        //Creating a range that spans over the all data cells of a worksheet
        var range = worksheet.Cells.CreateRange("B1", "C3");
        //Create a Style object.
        Style colstyle = workbook.CreateStyle();
        colstyle.Borders[BorderType.LeftBorder].LineStyle = CellBorderType.Thin;
        colstyle.Borders[BorderType.RightBorder].LineStyle = CellBorderType.Thin;
        colstyle.Borders[BorderType.TopBorder].LineStyle = CellBorderType.Thin;
        colstyle.Borders[BorderType.BottomBorder].LineStyle = CellBorderType.Thin;
        colstyle.HorizontalAlignment = TextAlignmentType.Center;
        StyleFlag flag = new StyleFlag();
        flag.Borders = true;
        flag.HorizontalAlignment = true;
        //Apply the style to the range
        range.ApplyStyle(colstyle, flag);


        workbook.Save("e:\\test2\\output__mergedcells.xlsx");

参照用に、Ms Excel で取得した出力 Excel ファイルのスクリーン ショットを参照してください: http://prntscr.com/8rbc0i

私は Aspose の開発者/エバンジェリストです。

于 2015-10-14T19:04:25.443 に答える