> ไม่มีการติดตั้ง Excel ในเครื่อง ไม่มีเซิร์ฟเวอร์การแปลงให้ดูแล เปลี่ยน XLSX → PDF, Excel → CSV/JSON/ภาพ/HTML เป็นการเรียก REST ธรรมดา — และทำให้ “เครื่องแปลงสเปรดชีตคลาวด์” ตัวแรกของคุณทำงานภายในประมาณสามนาที
“แปลงสเปรดชีตนั้นเป็นรูปแบบที่แตกต่างกัน” เป็นหนึ่งในความต้องการที่พบบ่อยที่สุดในทุกวันในการพัฒนา:
- ทีมการเงินและกฎหมายต้องการรายงาน PDF ที่อ่านได้และไม่สามารถแก้ไขได้ แทนที่จะเป็น .xlsx ที่ใครก็สามารถแก้ไขได้;
- ทีมข้อมูลต้องการดึงข้อมูลตารางเข้าสู่ระบบที่ตามมาในรูปแบบ CSV / JSON;
- แอปเว็บและมือถือต้องการแผ่นงาน — และแม้แต่ แผนภูมิ — ที่เรนเดอร์ตรงไปยัง PNG / SVG;
- พอร์ทัลต้องการ HTML / HTML-Table สะอาดเพื่อฝัง;
- มีคนต้องการทำให้ไฟล์ .xls / .xlsx / .csv / .ods จำนวนมากเป็นรูปแบบเดียว
คำตอบแบบเก่า — การติดตั้ง Excel ในเครื่องพร้อมกับมาโคร หรือส่วนประกอบ COM ที่มีน้ำหนักมากบนเซิร์ฟเวอร์ของคุณ — ยากที่จะขยายและยากที่จะรักษาความเข้ากันได้ข้ามแพลตฟอร์ม Aspose.Cells Cloud แทนที่ทั้งหมดนี้ด้วย REST API ที่บริสุทธิ์: อัปโหลดไฟล์, รับไฟล์รูปแบบใหม่กลับมา.
โพสต์นี้จะพาผ่านสาม API การแปลงที่เปิดเผยโดย ConversionController หลักในบริการไมโครเซอร์วิส Aspose.Cells (แหล่งที่มา: src/Aspose.Cells.Cloud.MicroService/Controllers/ConversionController.cs) โดยมีตัวอย่างที่สามารถรันได้ใน cURL, C# (.NET), Python และ Java.
—
## 1. ฟีเจอร์ Convert สามารถทำอะไรได้บ้าง?
ConversionController เป็นตัวควบคุมที่มุ่งเน้นไปที่ การแปลงรูปแบบ / การส่งออก มันห่อหุ้มการแปลงที่มีความแม่นยำสูงในระดับเครื่องยนต์ให้เป็นสามชุดของ HTTP APIs:
| # | สถานการณ์ | จุดสิ้นสุดทั่วไป | สิ่งที่ทำ |
| — | ———————————————————— | ———————————————— | —————————————————————————————————————————- |
| 1 | ไฟล์ที่อยู่ในพื้นที่เก็บข้อมูลคลาวด์ → ดาวน์โหลดรูปแบบใหม่ | GET /v4.0/cells/{name}?format=pdf | แปลงเวิร์กบุ๊คโดยตรงในพื้นที่เก็บข้อมูลคลาวด์และส่งผลลัพธ์กลับ — ไฟล์ขนาดใหญ่ไม่จำเป็นต้องเดินทางไปยังเครื่องของคุณ |
| 2 | ไฟล์ในเครื่อง → การแปลงออนไลน์ (ฟีเจอร์เด่น) | PUT /v4.0/cells/convert/spreadsheet?format=pdf | คุณอัปโหลดไฟล์ในเนื้อหาของคำขอ (multipart); เซิร์ฟเวอร์จะทำการแปลงและส่งคืนไฟล์ผลลัพธ์โดยตรง |
| 3 | ไฟล์ในคลาวด์ → บันทึกเป็นรูปแบบใหม่กลับไปยังพื้นที่เก็บข้อมูลคลาวด์ | PUT /v4.0/cells/{name}/saveas?format=pdf | ไฟล์ที่แปลงแล้วจะถูกเขียนกลับไปยังพื้นที่เก็บข้อมูลคลาวด์โดยตรง — เหมาะสำหรับท่ออัตโนมัติ |
> หมายเหตุการใช้งาน: เส้นทางต้นทางใช้พรีฟิก v{version}/cells โดยมีเวอร์ชัน API 4.0 ดังนั้นการเรียกใช้งานจริงจึงมีลักษณะเช่น https://api.aspose.cloud/v4.0/cells/....
### ความละเอียดในการแปลงไปไกลกว่าการ “ทั้งไฟล์”
นอกจากการแปลงเวิร์กบุ๊คทั้งหมดแล้ว ตัวควบคุมยังสามารถส่งออก องค์ประกอบเดียว:
- แผ่นงาน เฉพาะ → PDF / รูปภาพ / CSV / JSON / HTML
- ช่วงเซลล์ เฉพาะ (เช่น A1:C12) → PDF / รูปภาพ / CSV / JSON / HTML
- ตาราง เฉพาะ → PDF / รูปภาพ / CSV / JSON / HTML
- แผนภูมิ เฉพาะ → PNG / JPEG / BMP / GIF / SVG / TIFF / EMF / PDF
ดังนั้นคุณไม่จำเป็นต้องแปลงเวิร์กบุ๊คขนาด 50 MB ทั้งหมดเพียงเพื่อดึงแผนภูมิหนึ่งรายการ — แปลงเฉพาะสิ่งที่คุณต้องการและประหยัดแบนด์วิธและการประมวลผล.
—
## 2. รูปแบบใดบ้างที่รองรับ?
ตามทะเบียน ExportData ที่สร้างขึ้นในตัวควบคุม แมทริกซ์การแปลงมีลักษณะโดยรวมดังนี้:
| ประเภท | รูปแบบ |
| —————————————– | ———————————————————————————————————————- |
| นำเข้า และ ส่งออก (สองทิศทาง) | XLS, XLSX, XLSB, XLSM, CSV, TSV, ODS, TXT |
| ส่งออกเท่านั้น | PDF, OTS, XPS, DIF, HTML / MHTML, JSON, PNG, JPEG, BMP, SVG, TIFF, EMF, NUMBERS, FODS, Markdown, DOCX, PPTX, SQL, ฯลฯ |
โดยสรุป: การแปลงสเปรดชีตเป็นสเปรดชีต ทุกประเภท, บวก ครอบครัวทั้งหมดของสเปรดชีต → PDF / รูปภาพ / ข้อมูลเว็บ — ทั้งหมดอยู่ภายใต้พื้นผิว API เดียว.
—
## 3. สองสิ่งที่คุณต้องก่อนเริ่ม
1. ลงทะเบียนบัญชีฟรีที่ Aspose Cloud Dashboard และสร้างแอปพลิเคชันเพื่อรับ Client ID และ Client Secret (SDK จะแลกเปลี่ยนสิ่งเหล่านี้เป็น JWT โดยอัตโนมัติ — ไม่จำเป็นต้องสร้างส่วนหัวการรับรองความถูกต้องด้วยตัวเอง).
2. ติดตั้ง SDK สำหรับภาษาที่คุณเลือก:
xml
<!-- .NET -->
<PackageReference Include="Aspose.Cells-Cloud" Version="25.x" />
bash
# Python
pip install asposecellscloud
xml
<!-- Java (Maven) — หมายเหตุ: ไม่อยู่ใน Maven Central ดังนั้น Aspose repo ด้านล่างจึงจำเป็น -->
<repositories>
<repository>
<id>AsposeJavaAPI</id>
<name>Aspose Java API</name>
<url>https://repository.aspose.cloud/repo/</url>
</repository>
</repositories>
<dependency>
<groupId>com.aspose</groupId>
<artifactId>aspose-cells-cloud</artifactId>
<version>26.8</version>
</dependency>
> ไม่ต้องการ SDK? ทุกอย่างเป็น REST ธรรมดา ดังนั้น cURL ก็ใช้ได้เช่นกัน (ดูด้านล่าง).
—
## 4. สถานการณ์ที่ 1: แปลงไฟล์ Excel ในเครื่องออนไลน์ (API แปลงเด่น)
นี่คือ PUT /v4.0/cells/convert/spreadsheet — API “แปลง” เรือธง:
อัปโหลดไฟล์ในเครื่องของคุณในเนื้อหาของคำขอ เซิร์ฟเวอร์จะทำการแปลงและส่งไฟล์ใหม่กลับมา ไม่มีการเก็บข้อมูลในพื้นที่เก็บข้อมูลคลาวด์และไม่มีสำเนาอัปโหลดค้างอยู่ — เหมาะสำหรับช่วงเวลาที่ “แค่แปลงให้ฉัน”
### ① cURL
bash
# 1) ก่อนอื่น รับโทเค็น
curl -X POST "https://api.aspose.cloud/connect/token" \
-d "grant_type=client_credentials" \
-d "client_id=YOUR_CLIENT_ID" \
-d "client_secret=YOUR_CLIENT_SECRET"
# 2) XLSX -> PDF
curl -X PUT "https://api.aspose.cloud/v4.0/cells/convert/spreadsheet?format=pdf" \
-H "Authorization: Bearer $TOKEN" \
-F "file=@Book1.xlsx" \
-o Book1.pdf
เปลี่ยน format เป็น csv, json, png, xlsx… และคุณจะได้รูปแบบนั้น หนึ่งพารามิเตอร์, หนึ่งรูปแบบผลลัพธ์.
### ② C# / .NET
csharp
using Aspose.Cells.Cloud.SDK.Api;
using Aspose.Cells.Cloud.SDK.Request;
var cellsApi = new CellsApi("YOUR_CLIENT_ID", "YOUR_CLIENT_SECRET");
var request = new ConvertSpreadsheetRequest(
spreadsheet: "C:/invoices/Book1.xlsx", // เส้นทางไฟล์ในเครื่อง
format: "pdf"); // เป้าหมาย: pdf / csv / json / png ...
using Stream result = cellsApi.ConvertSpreadsheet(request); // สตรีมไฟล์ที่แปลงแล้ว
using var outFile = File.Create("C:/invoices/Book1.pdf");
result.CopyTo(outFile);
// ง่ายกว่านั้น: ชี้ SDK ไปที่เส้นทางเอาต์พุตและให้มันเขียนไฟล์
// cellsApi.ConvertSpreadsheet(request, "C:/invoices/Book1.pdf");
> ต้องการงานแบทช์? วางสิ่งนี้ลงในลูปผ่านไดเรกทอรีและคุณจะมี “แปลงทั้งโฟลเดอร์ XLSX → PDF”.
### ③ Python
python
from asposecellscloud.apis.cells_api import CellsApi
from asposecellscloud.requests import ConvertSpreadsheetRequest
import os
instance = CellsApi(
os.getenv('CellsCloudClientId'),
os.getenv('CellsCloudClientSecret'))
# XLSX ในเครื่อง → PDF, ผลลัพธ์เขียนในเครื่อง
instance.convert_spreadsheet(
ConvertSpreadsheetRequest("Book1.xlsx", "pdf"),
local_outpath="Book1.pdf")
# รูปแบบอื่น ๆ: เปลี่ยนพารามิเตอร์ — json / csv / xlsx / png ...
### ④ Java
java
import com.aspose.cloud.cells.api.CellsApi;
import com.aspose.cloud.cells.request.ConvertSpreadsheetRequest;
import java.io.File;
public class ConvertDemo {
public static void main(String[] args) throws Exception {
CellsApi api = new CellsApi("YOUR_CLIENT_ID", "YOUR_CLIENT_SECRET");
ConvertSpreadsheetRequest req = new ConvertSpreadsheetRequest();
req.setSpreadsheet("C:/invoices/Book1.xlsx"); // เส้นทางไฟล์ในเครื่อง
req.setFormat("pdf"); // เป้าหมาย: pdf / csv / json / png ...
File out = api.convertSpreadsheet(req); // ผลลัพธ์ที่แปลงเป็นไฟล์
out.renameTo(new File("C:/invoices/Book1.pdf"));
System.out.println("แปลงแล้ว: " + out.getAbsolutePath());
}
}
สี่ภาษา, หนึ่งการกระทำ: ให้เส้นทาง + พารามิเตอร์รูปแบบ → รับไฟล์เป้าหมายกลับมา นี่คือจุดขายทั้งหมดของ API แปลง — ไม่มีการพึ่งพา Excel ที่ฝั่งผู้เรียก, ไม่มีเทมเพลต, ไม่มีส่วนประกอบ COM.
—
## 5. สถานการณ์ที่ 2: แปลงไฟล์ที่จัดเก็บในคลาวด์โดยตรง
เมื่อไฟล์อยู่ใน Aspose Cloud Storage (หรือพื้นที่เก็บข้อมูลวัตถุของคุณ) คุณไม่จำเป็นต้องดาวน์โหลด/อัปโหลดไฟล์ขนาดใหญ่ — การแปลงเกิดขึ้นในคลาวด์ ลดการถ่ายโอนข้อมูลและปรับปรุงประสิทธิภาพในเวิร์กบุ๊คขนาดใหญ่:
bash
# cloud Book1.xlsx -> PDF, ดาวน์โหลดในเครื่อง
curl -G "https://api.aspose.cloud/v4.0/cells/Book1.xlsx" \
-H "Authorization: Bearer $TOKEN" \
--data-urlencode "format=pdf" \
--data-urlencode "folder=Reports" \
-o Book1.pdf
python
from asposecellscloud.apis.cells_api import CellsApi
from asposecellscloud.requests import ExportSpreadsheetAsFormatRequest
instance = CellsApi("YOUR_CLIENT_ID", "YOUR_CLIENT_SECRET")
# แปลงเวิร์กบุ๊คที่จัดเก็บในคลาวด์ตรงไปยัง PDF
instance.export_spreadsheet_as_format(
ExportSpreadsheetAsFormatRequest("Book1.xlsx", format="pdf", folder="Reports"))
คุณยังสามารถเจาะลึกไปยังองค์ประกอบเดียว — เช่น เรนเดอร์ “แผนภูมิที่ 3 บน Sheet1” เป็น PNG (รูปแบบการจัดเก็บในคลาวด์):
bash
# แผนภูมิ -> PNG
curl -G "https://api.aspose.cloud/v4.0/cells/Book1.xlsx/worksheets/Sheet1/charts/2" \
-H "Authorization: Bearer $TOKEN" \
--data-urlencode "format=png" \
-o chart.png
จุดสิ้นสุดที่ละเอียดในคลาวด์ที่มองอย่างรวดเร็ว:
| เป้าหมาย | จุดสิ้นสุด | ตัวอย่าง format |
| —————- | ——————————————————- | —————————– |
| เวิร์กบุ๊คทั้งหมด | GET /v4.0/cells/{name} | pdf / xlsx / csv / json |
| แผ่นงานเดียว | GET /v4.0/cells/{name}/worksheets/{ws} | pdf / png / svg |
| ช่วงเดียว | GET /v4.0/cells/{name}/worksheets/{ws}/ranges/{range} | pdf / csv / json / html / png |
| ตารางเดียว | GET /v4.0/cells/{name}/worksheets/{ws}/tables/{table} | pdf / csv / json / html / png |
| แผนภูมิเดียว | GET /v4.0/cells/{name}/worksheets/{ws}/charts/{index} | pdf / png / jpeg / svg / tiff |
—
## 6. สถานการณ์ที่ 3: SaveAs — เขียนผลลัพธ์กลับไปยังพื้นที่เก็บข้อมูลคลาวด์
เมื่อคุณต้องการให้ไฟล์ที่แปลง ถูกเก็บกลับไปยังพื้นที่เก็บข้อมูลคลาวด์ (แทนที่จะดาวน์โหลด) ให้ใช้ PUT /v4.0/cells/{name}/saveas นี่เป็นการจับคู่ที่เป็นธรรมชาติเช่น “ส่งออกรายงานของวันนี้ไปยัง PDF สำหรับการเก็บรักษาทุกวัน”:
bash
curl -X PUT "https://api.aspose.cloud/v4.0/cells/Book1.xlsx/saveas?format=pdf" \
-H "Authorization: Bearer $TOKEN" \
-H "Content-Type: application/json" \
-d '{}'
python
from asposecellscloud.apis.cells_api import CellsApi
from asposecellscloud.requests import SaveSpreadsheetAsRequest
instance = CellsApi("YOUR_CLIENT_ID", "YOUR_CLIENT_SECRET")
instance.save_spreadsheet_as(
SaveSpreadsheetAsRequest("Book1.xlsx", format="pdf", folder="Reports"))
# ผลลัพธ์จะถูกบันทึกโดยตรงในพื้นที่เก็บข้อมูลคลาวด์; ส่งคืน CellsCloudResponse(Code=200, Status="OK")
คุณสามารถส่งผ่านตัวเลือกการบันทึกที่ละเอียดผ่านเนื้อหาของคำขอ SaveOptionsData และควบคุม ชื่อไฟล์ผลลัพธ์, พื้นที่เก็บข้อมูลผลลัพธ์, ฟอนต์ที่กำหนดเอง, ภูมิภาค/ภูมิศาสตร์, รหัสผ่าน, ฯลฯ ผ่านพารามิเตอร์ query — เพิ่มเติมเกี่ยวกับสิ่งเหล่านี้ในรายละเอียดทางวิศวกรรมด้านล่าง.
—
## 7. จุดสิ้นสุด “ออนไลน์แปลง” ที่พร้อมใช้งานมากขึ้น
นอกจากการแปลงระดับเวิร์กบุ๊คข้างต้นแล้ว ตัวควบคุมยังเปิดเผยชุดของจุดสิ้นสุด ไฟล์ในเครื่อง → เป้าหมายเฉพาะ ที่มีความละเอียดมากขึ้นและประหยัดแบนด์วิธ:
| เป้าหมาย | จุดสิ้นสุด (PUT, พรีฟิก /v4.0/cells/convert/) |
| ———————————————— | ——————————————————————————————————– |
| เวิร์กบุ๊ค → PDF / JSON / CSV | spreadsheet/pdf, spreadsheet/json, spreadsheet/csv |
| แผ่นงาน → PDF / JSON / CSV / HTML / HTML-Table | worksheet/pdf, worksheet/json, worksheet/csv, worksheet/html, worksheet/html-table |
| แผ่นงาน → รูปภาพ | worksheet/image?worksheet=Sheet1&format=png |
| ช่วง → PDF / CSV / HTML / JSON / รูปภาพ | range/pdf, range/csv, range/html, range/json, range/image?worksheet=..&range=A1:C12&format=png |
| ตาราง → PDF / CSV / HTML / JSON / รูปภาพ | table/pdf, table/csv, table/html, table/json, table/image |
| แผนภูมิ → รูปภาพ / PDF | chart/image?worksheet=..&chartIndex=0&format=png, chart/pdf |
ตัวอย่างเช่น “ส่งออกช่วงนี้เป็น CSV สำหรับระบบที่ตามมา”:
bash
curl -X PUT "https://api.aspose.cloud/v4.0/cells/convert/range/csv" \
-H "Authorization: Bearer $TOKEN" \
--data-urlencode "worksheet=Sheet1" \
--data-urlencode "range=A1:C100" \
-F "file=@data.xlsx" \
-o data.csv
จุดสิ้นสุดเหล่านี้ใช้รูปแบบการอัปโหลดในเนื้อหาที่เหมือนกับ convert/spreadsheet ใน SDK .NET กรณี แผนภูมิ มีการห่อหุ้มที่มีชื่อที่แมพไปยังเส้นทาง v4.0 เหล่านี้ — ConvertChartToImage (convert/chart/image) และ ConvertChartToPdf (convert/chart/pdf). ตัวแปร worksheet/*, range/* และ table/* ยังไม่มีการห่อหุ้ม v4.0 ดังนั้นให้เรียกใช้พวกเขาผ่าน REST ธรรมดาเช่นเดียวกับที่ cURL ข้างต้นทำ.
—
## 8. รายละเอียดทางวิศวกรรม & การจัดการข้อผิดพลาด
### ตัวเลือกการแปลงที่ควรรู้ (พารามิเตอร์ query)
- password — เปิดเวิร์กบุ๊คที่มีรหัสผ่าน;
- fontsLocation / การสนับสนุนฟอนต์ที่กำหนดเอง — รักษา glyphs ให้ถูกต้องเมื่อเรนเดอร์ PDF/รูปภาพ;
- ปรับขนาดแถว/คอลัมน์โดยอัตโนมัติ และว่าจะแสดงหัวแถว/คอลัมน์ (printHeadings), การตั้งค่าภูมิภาค/หน้า (region), ฯลฯ;
- ด้านผลลัพธ์: outPath / outStorageName กำหนดว่า ผลลัพธ์จะไปที่ไหนในพื้นที่เก็บข้อมูลคลาวด์.
### รหัสข้อผิดพลาด (สัญญาที่ตัวควบคุมเอกสาร)
| สถานะ | ความหมาย | สาเหตุทั่วไป |
| ——- | ———— | ———————————————————– |
| 400 | ข้อผิดพลาดที่ไม่ถูกต้อง | URL / พารามิเตอร์ไม่ถูกต้อง หรือรูปแบบที่ไม่รองรับ |
| 401 | ไม่ได้รับอนุญาต | การรับรองความถูกต้องล้มเหลวหรือไม่มีข้อมูลประจำตัวที่ถูกต้อง |
| 404 | ไม่พบ | ไฟล์ต้นทางไม่สามารถเข้าถึงได้ในพื้นที่เก็บข้อมูลคลาวด์ |
| 500 | ข้อผิดพลาดของเซิร์ฟเวอร์ | บริการเกิดความผิดปกติขณะได้รับข้อมูลการแปลง |
### การรับรองความถูกต้อง
SDK ทั้งหมดจะทำการรับรองความถูกต้องโดยอัตโนมัติด้วย OAuth 2.0 client_credentials และ JWT; เมื่อใช้ cURL ดิบ ให้เรียก /connect/token หนึ่งครั้งก่อน (ดูสถานการณ์ที่ 1, ① ข้างต้น).
—
## 9. ทำไมถึงเลือก Aspose.Cells Cloud Convert?
- ✅ ไม่มีการพึ่งพาในเครื่องเลย — ไม่มี Office/Excel, ไม่มี COM เรียกใช้ได้จากทุกภาษาและทุกแพลตฟอร์ม (Linux, containers, serverless);
- ✅ การเรนเดอร์ที่มีความแม่นยำสูง — ขับเคลื่อนโดยเครื่องยนต์ Aspose.Cells ดังนั้นสูตร, แผนภูมิ, สไตล์ และการแบ่งหน้าเรนเดอร์ในคุณภาพระดับมืออาชีพลงใน PDF/รูปภาพ;
- ✅ คลาวด์เนทีฟ — ไฟล์สามารถอยู่ในคลาวด์ระหว่างการแปลงเพื่อหลีกเลี่ยงการส่งข้อมูลขนาดใหญ่; การแปลงออนไลน์บริสุทธิ์ไม่ต้องการพื้นที่เก็บข้อมูลคลาวด์เลย;
- ✅ ความละเอียดที่ยืดหยุ่น — เวิร์กบุ๊ค / แผ่นงาน / ช่วง / ตาราง / แผนภูมิ: แปลงเฉพาะส่วนที่คุณต้องการ;
- ✅ รูปแบบเดียวกันใน SDKs — ตัวอย่าง cURL, .NET, Python และ Java แมพ 1:1 ดังนั้นคุณสามารถคัดลอกแพทเทิร์นที่คุณชอบได้อย่างแท้จริง.
เริ่มต้นตอนนี้: ลงทะเบียนที่ Aspose Cloud Dashboard, สร้างแอปพลิเคชัน, วางข้อมูลประจำตัวของคุณในตัวอย่างใด ๆ ข้างต้น และรันมัน — คุณจะมี “เครื่องแปลง Excel คลาวด์” ของคุณเองในไม่กี่นาที.
พบว่านี่มีประโยชน์? ให้ดาว, บุ๊กมาร์ก หรือแชร์มัน — และบอกเราเกี่ยวกับกรณีการใช้งานการแปลงสเปรดชีตของคุณในความคิดเห็น.
เปลี่ยนการแปลงสเปรดชีตให้เป็นบรรทัดเดียว: คู่มือที่สมบูรณ์เกี่ยวกับ Aspose.Cells Cloud Convert API (.NET / Python / Java)
เปลี่ยนการแปลงสเปรดชีตให้เป็นบรรทัดเดียว