C#에서 Word로 Excel 테이블 가져 오기

Word 문서에 Excel 스프레드시트를 표시하려면 Excel 문서를 OEL 개체로 Word에 삽입하거나 Excel 테이블을 Word에 복사합니다. 이 문서에서는 Excel 스프레드시트를 Word에 복사하고 Excel 표의 스타일을 유지하는 방법에 대해 설명합니다.
이 시나리오에서는 Spire.Xls.dll 및 Spire.Doc.dll을 모두 프로젝트에서 참조해야 합니다. S 필레. 오피 등을 다운로드하고 DLL 파일을 사용하십시오.
【C#】

Program.cs

static void Main(string[] args)
{
//ワークブックオブジェクトを作成する
Workbook workbook = new Workbook();
//Excelドキュメントを読み込む
workbook.LoadFromFile(@"テスト.xlsx");
//最初のワークシートを取得する
Worksheet sheet = workbook.Worksheets[0];
//Documentオブジェクトを作成する
Document doc = new Document();
//Wordにフォームを追加する
Table table = doc.AddSection().AddTable(true);
//Excelテーブルデータの行数と列数に基づいてテーブルの行と列を設定する
table.ResetCells(sheet.LastRow, sheet.LastColumn);
//Excelテーブルの行をトラバースする
for (int r = 1; r <= sheet.LastRow; r++)
    {
     //Excelテーブルの列をトラバースする
     for (int c = 1; c <= sheet.LastColumn; c++)
         {
           //Excelテーブルのセルを取得する
           CellRange xCell = sheet.Range[r, c];
           //Wordの表のセルを取得する
           TableCell wCell = table.Rows[r - 1].Cells[c - 1];
           //Excelのセルデータを対応するWordセルに取り込みます
           TextRange textRange = wCell.AddParagraph().AppendText(xCell.NumberText);
                //セルフォーマットをコピーする
           CopyStyle(textRange, xCell, wCell);
           }
      }

       //ドキュメントを保存
       doc.SaveToFile("結果.docx", Spire.Doc.FileFormat.Docx);
    }
    private static void CopyStyle(TextRange wTextRange, CellRange xCell, TableCell wCell)
   {
    //フォントスタイルをコピーする
    wTextRange.CharacterFormat.TextColor = xCell.Style.Font.Color;
    wTextRange.CharacterFormat.FontSize = (float)xCell.Style.Font.Size;
    wTextRange.CharacterFormat.FontName = xCell.Style.Font.FontName;
    wTextRange.CharacterFormat.Bold = xCell.Style.Font.IsBold;
    wTextRange.CharacterFormat.Italic = xCell.Style.Font.IsItalic;
    //セルの背景色をコピーする
    wCell.CellFormat.BackColor = xCell.Style.Color;
    //テキストの配置をコピーする
    switch (xCell.HorizontalAlignment)
    {
        case HorizontalAlignType.Left:
            wTextRange.OwnerParagraph.Format.HorizontalAlignment = HorizontalAlignment.Left;
            break;
        case HorizontalAlignType.Center:
            wTextRange.OwnerParagraph.Format.HorizontalAlignment = HorizontalAlignment.Center;
            break;
        case HorizontalAlignType.Right:
            wTextRange.OwnerParagraph.Format.HorizontalAlignment = HorizontalAlignment.Right;
            break;
    }

}



디버그 코드가 실행되면 문서라는 단어가 생성됩니다.

좋은 웹페이지 즐겨찾기