5

なぜこれが起こるのか理解できません。まず、最初の行の列ヘッダーに太字のテキストを適用しようとしました。次に、ヘッダー セルの境界線を MEDIUM に設定したいのですが、この MEDIUM 境界線スタイルがすべてのセルに適用されます。シート。以下の同じコードには、さらに問題があります。

  1. 列ヘッダー (最初の行) のテキストが太字ではありません。
  2. 列ヘッダーのテキストの色が赤くありません。

これが私のコードです(NPOIライブラリで処理):

private void CreateATest(string filename)
    {
        FileStream fs = new FileStream(filename, FileMode.Create, FileAccess.Write);
        HSSFWorkbook wb = new HSSFWorkbook();
        ISheet sheet = wb.CreateSheet("NPOI");
        IRow row = sheet.CreateRow(0);
        row.RowStyle = wb.CreateCellStyle();
        row.RowStyle.Alignment = NPOI.SS.UserModel.HorizontalAlignment.CENTER;

        row.RowStyle.VerticalAlignment = VerticalAlignment.CENTER;            
        row.RowStyle.WrapText = true;
        IFont font = wb.CreateFont();
        font.Boldweight = 3;
        font.Color = (short) ColorTranslator.ToWin32(Color.Red);
        font.FontHeight = 30;
        row.RowStyle.SetFont(font);
        int i = 0;
        foreach (string header in new string[] { "ID", "Name", "Age" })
        {
            row.CreateCell(i++).SetCellValue(header);
            row.Cells[i - 1].CellStyle.BorderLeft = NPOI.SS.UserModel.BorderStyle.MEDIUM;
            row.Cells[i - 1].CellStyle.BorderTop = NPOI.SS.UserModel.BorderStyle.MEDIUM;
            row.Cells[i - 1].CellStyle.BorderBottom = NPOI.SS.UserModel.BorderStyle.MEDIUM;
        }
        row.Cells[i - 1].CellStyle.BorderRight = NPOI.SS.UserModel.BorderStyle.MEDIUM;
        Random rand = new Random();
        for (i = 1; i < 1000; i++)
        {
            IRow row1 = sheet.CreateRow(i);
            for (int j = 0; j < 3; j++)
            {
                row1.CreateCell(j).SetCellValue(rand.Next(100));
            }
        }
        wb.Write(fs);
        fs.Close();
    }

私のためにそれを修正してください、私はNPOIに非常に慣れていないので、使ってみました. どうぞよろしくお願いいたします。ありがとう。(<--- 入力する前に Enter を入力したにもかかわらず、この「Thanks」が次の行にジャンプできない理由がわかりません)

4

3 に答える 3

6

書式設定の問題は、Excel の書式設定で行が挿入される方法が原因です。上の行からスタイル情報を取得します。これをテストするには、行を太字でフォーマットしてから、すぐ下に行を挿入します。新しい行も太字になります。最初に残りの行を挿入してから、後でヘッダー行の書式設定を行うことができます。残念ながら、他の 2 つの問題についてはお手伝いできないため、これを回答ではなくコメントにするほどの評判はありません。

于 2013-04-10T21:59:42.137 に答える