Installa un fileformat.words open source per .NET, impara a leggere il file DOCX in C# programmaticamente. Questa API offre metodi per creare un visualizzatore di file di parole.
panoramica
Non è facile creare software di business che si occupa immensamente della creazione e della manipolazione dei file. Le ore di tempo e uomo sono fattori critici, ma optare per le biblioteche di terze parti rilevanti svolgono un ruolo vitale nella fase di sviluppo. Pertanto, passiamo attraverso una libreria .NET open source che offre una vasta gamma di metodi per manipolare programmaticamente 2 file 2. Questa API non solo ti consente di creare/modificare i file Word, ma puoi anche leggere documenti aziendali/file DOCX. Stiamo parlando di FileFormat.words è un pacchetto completo di funzionalità necessarie per elaborare i documenti di parole a livello di programmazione. Tuttavia, questo post sul blog risponderà alla tua domanda (ovvero Come apro un file DOCX in C#? ). Inoltre, sarai in grado di creare un lettore di file di parole entro la fine di questo articolo. Tratteremo i seguenti punti in questa guida:
Word File Viewer - Installazione API
Visitare questo link per passare in dettaglio il processo di installazione. Altrimenti, è abbastanza facile da installare, se puoi installarlo utilizzando il suo pacchetto Nuget o eseguendo il seguente comando in Nuget Package Manager.
Install-Package FileFormat.Words
Come apro un file DOCX in C#
Una volta installata questa API .NET open source, è possibile iniziare subito a scrivere il codice. Costruiamo un componente Reader Word File per il tuo software aziendale. Esistono più metodi e proprietà per leggere un file DOCX/DOCS, ma useremo alcuni metodi/proprietà di spicco. È possibile seguire i seguenti passaggi e lo snippet del codice:
- Inizializza un’istanza della classe Documento e caricare il file DOCX/DOCS.
- Istanzia un oggetto della classe corpo.
- Invoca il metodo getDocumentTables.count () che restituisce il numero totale di tabelle in un documento.
- La proprietà getDocumentTables restituisce le proprietà della tabella.
- La proprietà ExistingTableHeaders restituisce le intestazioni della tabella.
- Chiama la proprietà NumberOfrows per accedere alle righe della tabella.
- Utilizzare la proprietà NumberofColumns per recuperare il numero di colonne.
- Accedi al numero di celle utilizzando la proprietà NumberOfcells.
- La proprietà TableBorder viene utilizzata per leggere lo stile del bordo.
- Utilizzare la proprietà TablePosition per ottenere la posizione della tabella.
- Invoca il metodo ExtractImagesFromdocument per ottenere tutte le immagini da un documento Word.
- Chiama il metodo getParagraphs per recuperare tutti i paragrafi del documento.
- La proprietà linesspacing è usata per conoscere la spaziatura tra le linee.
- La proprietà rientro viene utilizzata per conoscere il valore del rientro.
- Ottieni il testo del paragrafo chiamando la proprietà Testo.
using FileFormat.Words;
using FileFormat.Words.Table;
namespace Example
{
class Program
{
static void Main(string[] args)
{
// Initialize an instance of the Document class and load the Docx/Docs file.
using (Document doc1 = new Document("/Docs.docx"))
{
// Instantiate an object of the Body class.
Body body1 = new Body(doc1);
// Invoke the getDocumentTables method that returns the total number of tables in a document.
Console.WriteLine("Total Number of Tables " + body1.getDocumentTables.Count());
int i = 0;
// The getDocumentTables property returns the table properties.
foreach (Table props in body1.getDocumentTables)
{
// The ExistingTableHeaders property returns the table headers.
foreach (string tableHeader in props.ExistingTableHeaders)
{
i++;
Console.WriteLine("Header"+i+": "+tableHeader);
}
// Call NumberOfRows property to access the table rows.
Console.WriteLine("Number of rows "+props.NumberOfRows);
// Use NumberOfColumns property to fetch number of columns.
Console.WriteLine("Number of columns " + props.NumberOfColumns);
// Access the number of cells using NumberOfCells property.
Console.WriteLine("Number of cells " + props.NumberOfCells);
Console.WriteLine("Cell width " + props.CellWidth);
// The TableBorder property is used to read the border style.
Console.WriteLine("Border style " + props.TableBorder);
// Use the TablePosition property to get the position of the table.
Console.WriteLine("Table position " + props.TablePosition);
Console.WriteLine(" ");
}
// Invoke the ExtractImagesFromDocument method to get all the images from a Word document.
List<Stream> imageParts = Image.ExtractImagesFromDocument(doc1);
int imageCount = imageParts.Count;
Console.WriteLine($"Total number of images: {imageCount}");
// Call the GetParagraphs method to retrieve all the document paragraphs.
List<Paragraph> paras = body1.GetParagraphs();
Console.WriteLine("The number of Paragraphs " + paras.Count());
foreach (Paragraph p in paras)
{
// The LinesSpacing property is used to know the spacing between the lines.
Console.WriteLine("Line spacing "+p.LinesSpacing);
// The Indent property is used to know the value of indentation.
Console.WriteLine("Indent value "+p.Indent);
// Get the text of the paragraph by calling the Text property.
Console.WriteLine(p.Text);
}
}
}
}
}
Lo snippet di codice sopra legge un file di parole che contiene un paragrafo, una tabella e un’immagine. Tuttavia, puoi vedere l’output nell’immagine qui sotto:
conclusione
Stiamo terminando questo post sul blog qui. Speriamo che tu abbia la risposta alla tua domanda (cioè Come apro un file DOCX in C#? ). Inoltre, abbiamo attraversato lo snippet del codice che legge a livello di programmazione un documento di parole esistente. Ora puoi facilmente creare un modulo che funziona come un visualizzatore di file Word . Inoltre, non dimenticare di visitare la documentazione di fileformat.words per .net. Infine, fileformat.com continua a scrivere post sul blog su altri argomenti. Inoltre, puoi seguirci sulle nostre piattaforme di social media, tra cui Facebook, LinkedIn e Twitter.
Contribute
Poiché FileFormat.words per .NET è un progetto open source ed è disponibile su GitHub. Quindi, il contributo della comunità è molto apprezzato.
chiedi una domanda
Puoi farci sapere delle tue domande o domande sul nostro forum.
Domande frequenti-FAQS
** Come apro un file docx senza word?** È possibile aprire i file DOCX/DOCS utilizzando questa libreria .NET open source FileFormat.words. Inoltre, è possibile creare un modulo Reader Word File per l’applicazione aziendale utilizzando questa libreria.