スプレッドシート管理の操作

ワークシートの管理

WorksheetCollection クラスは、ブック内のワークシートを管理するためのメソッドを提供します。addWorksheet() で新しいワークシートを追加し、removeWorksheet() で削除し、moveWorksheet() で順序を変更します。

import { Workbook } from "excel-cells";

const workbook = new Workbook();
const sheets = workbook.worksheets;

const sheet2 = sheets.addWorksheet("Sales");
const sheet3 = sheets.addWorksheet("Summary");

sheet2.putValue("A1", "Sales Data");
sheet3.putValue("A1", "Summary Report");

await workbook.save("multi-sheet.xlsx");

セルの値と数式

worksheet.putValue() を使用して整数、小数、文字列を書き込みます。getCell2() で参照によりセルにアクセスし、getCell() で行/列インデックスによりアクセスします。cell.setFormula() で数式を設定します。

const workbook = new Workbook();
const worksheet = workbook.worksheets[0]!;

worksheet.putValue("A1", 42);
worksheet.putValue("A2", 3.14159);
worksheet.putValue("A3", "Hello World");

const cellA4 = worksheet.getCell2("A4");
cellA4.setFormula("=SUM(A1:A2)");

await workbook.save("values.xlsx");

フォントと塗りつぶしのスタイリング

Style クラスを使用してフォント設定を適用します。フォント名、サイズ、太字、斜体、色を設定します。cell.setStyle() で個々のセルにスタイルを適用します。

import { Workbook, Style } from "excel-cells";

const workbook = new Workbook();
const worksheet = workbook.worksheets[0]!;

const style = new Style();
style.setFontName("Arial");
style.setFontSize(14);
style.setBold(true);
style.setItalic(true);
style.setFontColor("FF0000");

const cell = worksheet.getCell2("A1");
cell.putValue("Styled Text");
cell.setStyle(style);

await workbook.save("styled.xlsx");

データ検証

DataValidation を使用してセル範囲に検証ルールを追加します。検証タイプ(リスト、数値範囲、またはカスタム)を指定し、worksheet.addDataValidation() で適用します。

import { Workbook, DataValidation } from "excel-cells";

const workbook = new Workbook();
const worksheet = workbook.worksheets[0]!;

const validation = new DataValidation();
validation.type = "list";
validation.formula1 = '"Option1,Option2,Option3"';
worksheet.addDataValidation(validation, "B1:B10");

await workbook.save("validated.xlsx");

オートフィルター

worksheet.setAutoFilter() を使用してフィルター可能な列ヘッダーを有効にします。worksheet.removeAutoFilter() でフィルターを解除します。

const workbook = new Workbook();
const worksheet = workbook.worksheets[0]!;

worksheet.putValue("A1", "Name");
worksheet.putValue("B1", "Age");
worksheet.putValue("C1", "City");
worksheet.putValue("A2", "Alice");
worksheet.putValue("B2", "25");
worksheet.putValue("C2", "New York");

worksheet.setAutoFilter("A1:C4");
await workbook.save("filtered.xlsx");

Hyperlinks

cell.setHyperlink() を使用してセルにハイパーリンクを添付します。URL、メールアドレス、内部シート参照をサポートします。

const workbook = new Workbook();
const worksheet = workbook.worksheets[0]!;

worksheet.putValue("A1", "Click here");
worksheet.getCell2("A1").setHyperlink("https://www.example.com");

worksheet.putValue("A3", "Send email");
worksheet.getCell2("A3").setHyperlink("mailto:test@example.com");

await workbook.save("hyperlinks.xlsx");

ブック保護

workbook.protect() を使用してパスワードでブックを保護します。style.setLocked(true) で個々のセルをロックします。

import { Workbook, Style } from "excel-cells";

const workbook = new Workbook();
const worksheet = workbook.worksheets[0]!;

worksheet.putValue("A1", "Protected Cell");
const style = new Style();
style.setLocked(true);
worksheet.getCell2("A1").setStyle(style);

workbook.protect(true, "password");
await workbook.save("protected.xlsx");

列と行のサイズ設定

出力XLSXファイルのセル寸法を制御するために、列幅と行高さを設定します。

const workbook = new Workbook();
const worksheet = workbook.worksheets[0]!;

worksheet.putValue("A1", "Wide Column");
worksheet.setColumnWidth(0, 30);
worksheet.setRowHeight(0, 25);

await workbook.save("sized.xlsx");

参照

 日本語