最も一般的で広く使用されているスプレッドシートファイル形式は、** XLS 、 XLSX 、およびODSです。有名なMicrosoftExcelとOpenOfficeCalcはこれらの形式をサポートしており、通常、アカウントとさまざまなスプレッドシートを維持するためにこれらの形式を使用します。したがって、開発者として、アプリケーション内のExcelファイルをプログラムで編集する必要があります。この記事では、.NETAPIを使用してC#でExcelファイルを編集する方法**について説明します。
この記事で簡単に説明したトピックは次のとおりです。
.NET API for Excel スプレッドシートの編集と自動化
GroupDocsは、スプレッドシート編集用の.NETAPIを紹介しています。この記事のC#の例で使用します。これはドキュメント編集APIであり、開発者はWYSIWYG HTMLエディターを使用してさまざまなドキュメント形式をロード、編集、および保存できます。 XLS、XLSX、およびODSスプレッドシート形式に加えて、APIは他のさまざまな[スプレッドシートおよびMS Excelでサポートされている形式]の編集をサポートしています(https://docs.groupdocs.com/editor/net/supported-document-formats/) CSV、TSV、DSV、XLT、XLTX、XLTM、XLSM、XLSB、XLAM、SXC、SpreadsheetML、FODS、DIFなど。
ダウンロードセクション からDLLまたはMSIインストーラーをダウンロードするか、NuGet 。
PM> Install-Package GroupDocs.Editor
C#でExcelファイルを編集する
APIを正常に参照したことを願っています。これで、Excelドキュメントの編集をすばやく開始できます。次の手順では、C#を使用してスプレッドシートドキュメントを編集できます。
- Excelファイルをロードします。
- オプションで 編集します。
- 編集したドキュメントを保存します。
Excelスプレッドシートを読み込む
まず、ドキュメントのパス/ストリームとパスワード(ドキュメントがパスワードで保護されている場合) を入力して、スプレッドシートを読み込みます。
// C#を使用してExcelファイルをロードする
Options.SpreadsheetLoadOptions loadOptions = new SpreadsheetLoadOptions();
loadOptions.Password = "password"; // if any
// スプレッドシートを読み込む
Editor editor = new Editor("path/spreadsheet.xlsx", delegate { return loadOptions; });
Excelファイルを編集する
ロード後、ロードしたスプレッドシートを必要に応じて編集できます。次に、スプレッドシートの最初のタブで、出現するすべての「古い会社名」を「新しい会社名」に置き換えます。次の手順では、C#でExcelファイルを適宜編集できます。
- エディタ と[読み込みオプション](https://apireference.groupdocs.com/editor/net/groupdocs.editor.options / Spreadsheetloadoptions) を使用してExcelファイルを読み込みます 。
- スプレッドシート編集オプション を準備して、正確なシート/タブを抽出します。
- 抽出 タブのコンテンツ。
- タブのコンテンツを変更します。
- 選択したタブから画像とすべてのリソースを抽出できます。
- 変更されたコンテンツを使用して、新しいEditableDocument を作成します。
- 適切なSave() メソッドを使用して、編集スプレッドシートを保存します。
次のC#ソースコードは、Excelファイルを編集し、その内容を変更します。
// C#を使用してExcelスプレッドシートを編集する
Options.SpreadsheetLoadOptions loadOptions = new SpreadsheetLoadOptions();
// loadOptions.Password = "password";
// スプレッドシートを読み込む
Editor editor = new Editor("path/spreadsheet.xlsx", delegate { return loadOptions; });
// スプレッドシートの最初のタブを取得します
SpreadsheetEditOptions sheetTab1EditOptions = new SpreadsheetEditOptions();
sheetTab1EditOptions.WorksheetIndex = 0; // first worksheet
// EditableDocumentインスタンスからHTMLマークアップを取得する
EditableDocument firstTab = editor.Edit(sheetTab1EditOptions);
string bodyContent = firstTab.GetBodyContent(); // HTML markup from inside the HTML -> BODY element
string allContent = firstTab.GetContent(); // Full HTML markup of all document, with HTML -> HEAD header and all its content
List<IImageResource> onlyImages = firstTab.Images;
List<IHtmlResource> allResourcesTogether = firstTab.AllResources;
string editedContent = allContent.Replace("Company Name", "New Company Name");
EditableDocument afterEdit = EditableDocument.FromMarkup(editedContent, allResourcesTogether);
編集したExcelファイルをオプション付きで保存
編集後、編集したスプレッドシートの内容を保存しながら、さまざまなオプションを設定できます。これらのオプションには以下が含まれます。パスワード、出力形式、保護などを設定します。上記のオプションを下記のコードで設定し、編集したスプレッドシートをパスワード保護および書き込み保護されたXLSXファイルとして保存しています。
// C#を使用して、更新されたコンテンツを含むExcelファイルを保存します
// 保存オプションを作成する
SpreadsheetFormats xlsxFormat = SpreadsheetFormats.Xlsx;
Options.SpreadsheetSaveOptions saveOptions = new SpreadsheetSaveOptions(SpreadsheetFormats.Xlsx);
// 新しい開始パスワードを設定する
saveOptions.Password = "newPassword";
saveOptions.WorksheetProtection = new WorksheetProtection(WorksheetProtectionType.All, "WriteProtectionPassword");
// 出力ストリームを作成します
using (FileStream outputStream = File.Create("path/editedSpreadsheet.xlsx"))
{
editor.Save(afterEdit, outputStream, saveOptions);
}
無料ライセンスを取得する
評価の制限なしでAPIを使用するために、無料の一時ライセンスを取得 することができます。
結論
結論として、.NETアプリケーション用のドキュメント編集APIを使用してC#でExcelドキュメントを編集する方法について説明しました。 APIをWYSIWYGエディターで使用して、ドキュメントを視覚的に編集できます。その後、独自のオンラインスプレッドシートエディタを構築するために先に進むことができます。
詳細、オプション、例については、ドキュメント およびGitHub リポジトリにアクセスしてください。 。詳細については、フォーラム のサポートにお問い合わせください。