הקדמה

Aspose.Cells FOSS עבור TypeScript חושף את הפונקציונליות שלו דרך קבוצת מחלקות ליבה קומפקטית: Workbook, WorksheetCollection, Worksheet, Cell ו-Style, בנוסף לסוגים תומכים לעיצוב וסינון. פוסט זה הוא סיור שיטתי במשטח הליבה של API – לא נושא צמוד אחד, אלא היסודות שכל יישום שנבנה על הספרייה משתמש בהם: פתיחה ושמירת חוברות עבודה, ניווט בגיליונות, קריאה וכתיבה של ערכי תאים ונוסחאות, יישום סגנונות, סינון נתונים וייצוא לפורמטים אחרים.

כל סעיף להלן מכסה תחום אחד של API עם השיטות והתכונות הקונקרטיות המעורבות, מגובה בדוגמאות TypeScript עובדות. המטרה היא לתת לך מודל מנטלי עובד של איך החלקים מתאימים זה לזה, מ-new Workbook() ועד לתכונות Cell בודדות.


תכונות מרכזיות

יסודות חוברת העבודה וגיליון העבודה

Workbook נוצר או ריק באמצעות new Workbook() או נטען באופן אסינכרוני מקובץ קיים באמצעות Workbook.load(filePath, password). כל חוברת עבודה חושפת את worksheets, WorksheetCollection שתומכת באינדקסציה, איטרציה, ושיטות בסגנון מערך (map, filter, forEach, find, indexOf) בנוסף ל-addWorksheet(name), removeWorksheet(index), ו-moveWorksheet(fromIndex, toIndex). קרא לworkbook.save(filePath, options) כדי לשמר את השינויים.

const workbook = new Workbook();

const ws1 = workbook.worksheets.addWorksheet();
const ws2 = workbook.worksheets.addWorksheet("CustomSheet1");
console.log("Total worksheets:", workbook.worksheets.length);

workbook.worksheets.removeWorksheet(1);
console.log("After delete:", workbook.worksheets.length);

console.log(
  "Names:",
  workbook.worksheets.worksheets.map((w) => w.name),
);

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

גישה לתאים וערכים

‏Worksheet קורא וכותב תאים דרך putValue(key, value), getCell2(key) (מחזיר Cell, יוצר אותו אם חסר), getCell(row, col) (מחזיר Cell | undefined), ו-getCellByRef(ref). כל Cell חושף את value, formula, row, col ו-ref כמאפיינים, ואת setFormula() / setStyle() / setHyperlink() כמתודות.

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

sheet.putValue("A1", 42);
sheet.putValue("A2", "Hello World");

const formulaCell = sheet.getCell2("A3");
formulaCell.setFormula("=A1+10");

console.log("A1 value:", sheet.getCell(0, 0)?.value);
console.log("A3 formula:", sheet.getCell(2, 0)?.formula);

const byRef = sheet.getCellByRef("A1");
console.log("Ref:", byRef?.ref, "Row:", byRef?.row, "Col:", byRef?.col);

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

סגנון, גופן, גבול והיישור

Style מקבץ את הגופן, המילוי, הגבול, היישור והעיצוב המספרי לתא. קרא או החלף את כל תתי-האובייקטים באמצעות getFont()/setFont(), getBorder()/setBorder(), ו-getAlignment()/setAlignment(), או השתמש במגדירי הנוחות ישירות על Style, כגון setFontName(), setFontSize(), setBold(), setHorizontalAlignment() ו-setNumberFormat(). החל את ה-Style המוגמר לתא בעזרת Cell.setStyle().

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

const style = new Style();
style.setFontName("Arial");
style.setFontSize(14);
style.setBold(true);
style.setNumberFormat("0.00");

style.getBorder().bottom = { style: "thin", color: "000000" };

style.setHorizontalAlignment("center");
style.setVerticalAlignment("center");
style.setWrapText(true);

const cell = sheet.getCell2("B2");
cell.putValue(1234.5);
cell.setStyle(style);

console.log("Bold:", style.isBold(), "Format:", style.getNumberFormat());

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

סינון אוטומטי עם המחלקה AutoFilter

Worksheet.setAutoFilter(range) הוא קיצור למקרה הנפוץ, אך ניתן להשתמש גם ישירות במחלקה AutoFilter הבסיסית: בנה אותה עם טווח, ואז קרא ל-addFilterColumn(col, filters, blank) לכל עמודה כדי להגדיר אילו ערכים יישארו גלויים, או ל-removeFilterColumn(col) / clear() כדי לבטל את הסינון.

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

sheet.putValue("A1", "Name");
sheet.putValue("B1", "City");
sheet.putValue("A2", "Alice");
sheet.putValue("B2", "New York");
sheet.putValue("A3", "Bob");
sheet.putValue("B3", "London");

const filter = new AutoFilter("A1:B3");
filter.addFilterColumn(1, ["New York"], false);

console.log("Filter range:", filter.range);
console.log("Filter columns:", filter.columns.length);

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

ייצוא ל-HTML, CSV, JSON ו-Markdown

מעבר ל-.xlsx, ניתן ל-Workbook להציג את עצמו ישירות כטקסט באמצעות toHtml(), toCsv(), toJson() ו-toMarkdown(), או לשמור אותו לקובץ שהרחבה שלו בוחרת את הפורמט דרך המונה SaveFormat (XLSX, CSV, JSON, MARKDOWN, HTML).

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

sheet.putValue("A1", "Name");
sheet.putValue("B1", "Age");
sheet.putValue("A2", "Alice");
sheet.putValue("B2", 25);
sheet.putValue("A3", "Bob");
sheet.putValue("B3", 30);

console.log("JSON:", workbook.toJson());
console.log("Markdown:\n", workbook.toMarkdown());

await workbook.save("report.csv");
await workbook.save("report.html");

התחלה מהירה

git clone https://github.com/aspose-cells-foss/Aspose.Cells-FOSS-for-TypeScript.git
cd Aspose.Cells-FOSS-for-TypeScript
npm install
npm run build
import { Workbook, Style } from "excel-cells";

const workbook = new Workbook();
const sheet = workbook.worksheets.get(0)!;
sheet.name = "Summary";

sheet.putValue("A1", "Item");
sheet.putValue("B1", "Count");
sheet.putValue("A2", "Widgets");
sheet.putValue("B2", 12);
sheet.putValue("A3", "Gadgets");
sheet.putValue("B3", 7);

const totalCell = sheet.getCell2("B4");
totalCell.setFormula("=SUM(B2:B3)");

const numberStyle = new Style();
numberStyle.setNumberFormat("0");
sheet.getCell2("B2").setStyle(numberStyle);
sheet.getCell2("B3").setStyle(numberStyle);
sheet.getCell2("B4").setStyle(numberStyle);

const detail = workbook.worksheets.addWorksheet("Detail");
detail.putValue("A1", "Raw Data");

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

const reloaded = await Workbook.load("summary.xlsx");
console.log("Worksheets:", reloaded.worksheets.length);
console.log("B4 formula:", reloaded.worksheets.get(0)!.getCell(3, 1)?.formula);

פורמטים נתמכים

פורמטסיומתקריאהכתיבה
XLSX.xlsx✓✓
HTML.html✓✓
CSV.csv—✓
JSON.json—✓
Markdown.md—✓

קוד פתוח ורישוי

Aspose.Cells FOSS עבור TypeScript משוחרר ברישיון MIT. קוד המקור זמין ב-GitHub. שימוש מסחרי מותר בהתאם לתנאי רישיון MIT.


התחלת עבודה

משאבים קשורים