C#/VB.NET: creare una tabella in Word

2023-09-27 06:47:41

Installato tramite NuGet

PM> Install-Package Spire.Doc

Link correlati

In MS Word, le tabelle possono organizzare e presentare i dati in righe e colonne, il che rende le informazioni più facili da comprendere e analizzare. In questo articolo imparerai come farlo a livello di codice creare una tabella con i dati in un documento Word utilizzando Spire.Doc for .NET.

Installa Spire.Doc for .NET

Per cominciare, devi aggiungere i file DLL inclusi nel pacchetto Spire.Doc for.NET come riferimenti nel tuo progetto .NET. I file DLL possono essere scaricati da questo link o installato tramite NuGet.

PM> Install-Package Spire.Doc

Crea una tabella semplice in Word

Di seguito sono riportati alcuni dei metodi e delle classi principali forniti da Spire.Doc for .NET per la creazione e la formattazione di tabelle in Word.

Nome Descrizione
Classe tabella Rappresenta una tabella in un documento di Word.
Classe TableRow Rappresenta una riga in una tabella.
Classe TableCell Rappresenta una cella specifica in una tabella.
Metodo Sezione.AddTbale() Aggiunge una nuova tabella alla sezione specificata.
Metodo Table.ResetCells() Reimposta il numero di riga e il numero di colonna.
Proprietà Table.Rows Ottiene le righe della tabella.
Proprietà TableRow.Height Imposta l'altezza della riga specificata.
Proprietà TableRow.Cells Restituisce la raccolta di celle.
Proprietà TableRow.RowFormat Ottiene il formato della riga specificata.

I passaggi dettagliati sono i seguenti

  • Crea un oggetto Document e aggiungi una sezione ad esso.
  • Preparare i dati per la riga di intestazione e le altre righe, archiviandoli rispettivamente in una matrice di stringhe unidimensionale e in una matrice di stringhe bidimensionale.
  • Aggiungi una tabella alla sezione utilizzando il metodo Sezione.AddTable().
  • Inserisci i dati nella riga di intestazione e imposta la formattazione della riga, inclusi altezza della riga, colore di sfondo e allineamento del testo.
  • Inserisci i dati nel resto delle righe e applica la formattazione a queste righe.
  • Salva il documento in un altro file utilizzando il metodo Document.SaveToFile().
  • C#
  • VB.NET
using System;
    using System.Drawing;
    using Spire.Doc;
    using Spire.Doc.Documents;
    using Spire.Doc.Fields;
    
    namespace WordTable
    {
        class Program
        {
            static void Main(string[] args)
            {
                //Create a Document object
                Document doc = new Document();
                //Add a section
                Section s = doc.AddSection();
    
                //Define the data for the table
                String[] Header = { "Date", "Description", "Country", "On Hands", "On Order" };
                String[][] data = {
                                      new String[]{ "08/07/2021","Dive kayak","United States","24","16"},
                                      new String[]{ "08/07/2021","Underwater Diver Vehicle","United States","5","3"},
                                      new String[]{ "08/07/2021","Regulator System","Czech Republic","165","216"},
                                      new String[]{ "08/08/2021","Second Stage Regulator","United States","98","88"},
                                      new String[]{ "08/08/2021","Personal Dive Sonar","United States","46","45"},
                                      new String[]{ "08/09/2021","Compass Console Mount","United States","211","300"},
                                      new String[]{ "08/09/2021","Regulator System","United Kingdom","166","100"},
                                      new String[]{ "08/10/2021","Alternate Inflation Regulator","United Kingdom","47","43"},
                                  };
                //Add a table
                Table table = s.AddTable(true);
                table.ResetCells(data.Length + 1, Header.Length);
    
                //Set the first row as table header
                TableRow FRow = table.Rows[0];
                FRow.IsHeader = true;
    
                //Set the height and color of the first row
                FRow.Height = 23;
                FRow.RowFormat.BackColor = Color.LightSeaGreen;
                for (int i = 0; i < Header.Length; i++)
                {
                    //Set alignment for cells
                    Paragraph p = FRow.Cells[i].AddParagraph();
                    FRow.Cells[i].CellFormat.VerticalAlignment = VerticalAlignment.Middle;
                    p.Format.HorizontalAlignment = HorizontalAlignment.Center;
    
                    //Set data format
                    TextRange TR = p.AppendText(Header[i]);
                    TR.CharacterFormat.FontName = "Calibri";
                    TR.CharacterFormat.FontSize = 12;
                    TR.CharacterFormat.Bold = true;
                }
    
                //Add data to the rest of rows and set cell format
                for (int r = 0; r < data.Length; r++)
                {
                    TableRow DataRow = table.Rows[r + 1];
                    DataRow.Height = 20;
                    for (int c = 0; c < data[r].Length; c++)
                    {
                        DataRow.Cells[c].CellFormat.VerticalAlignment = VerticalAlignment.Middle;
                        Paragraph p2 = DataRow.Cells[c].AddParagraph();
                        TextRange TR2 = p2.AppendText(data[r][c]);
                        p2.Format.HorizontalAlignment = HorizontalAlignment.Center;
    
                        //Set data format
                        TR2.CharacterFormat.FontName = "Calibri";
                        TR2.CharacterFormat.FontSize = 11;
                    }
                }
    
                //Save the document
                doc.SaveToFile("WordTable.docx", FileFormat.Docx2013);
            }
        }
    }

C#/VB.NET: Create a Table in Word

Richiedi una licenza temporanea

Se desideri rimuovere il messaggio di valutazione dai documenti generati o eliminare le limitazioni della funzione, per favore richiedere una licenza di prova di 30 giorni per te.

Guarda anche