ReoGrid
ไลบรารี C# .NET สำหรับสเปรดชีต XLSX ที่รวดเร็ว
Open Source C# API ช่วยให้สร้าง อ่าน แก้ไข และส่งออกสเปรดชีต Microsoft Excel XLSX จัดการเวิร์กชีต การตั้งค่าแถวและคอลัมน์ และอื่นๆ
คอมโพเนนต์สเปรดชีต .NET แบบโอเพ่นซอร์สอันทรงพลังที่ช่วยให้แอปซอฟต์แวร์สร้างและจัดการรูปแบบไฟล์ Excel ได้อย่างง่ายดาย ห้องสมุดมีน้ำหนักเบามากและสามารถดำเนินการได้หลายอย่างโดยใช้เวลาและค่าใช้จ่ายน้อยลง สามารถประมวลผลงานที่เกี่ยวข้องกับสเปรดชีตได้เร็วกว่าผลิตภัณฑ์ที่คล้ายกันถึง 300 เท่า
ReoGrid API รองรับหลายแพลตฟอร์มและทำงานได้ทั้งบน Windows Form และ WPF มีคุณลักษณะมากมายและมีคุณลักษณะที่สำคัญหลายอย่างที่เกี่ยวข้องกับการสร้างและการจัดการสเปรดชีต Excel เช่น การสร้างเวิร์กบุ๊กใหม่ตั้งแต่ต้น การจัดการเวิร์กชีต การตั้งค่าแถวและคอลัมน์ การสนับสนุนสไตล์เซลล์ การจัดการเส้นขอบ ค่าของเซลล์และรูปแบบข้อมูล ใช้สูตร แทรกและจัดการรูปภาพ โดยใช้วัตถุลอย เพิ่มแผนภูมิหรือกราฟ และอื่นๆ อีกมากมาย
ReoGrid ใช้โมเดลการจัดการหน่วยความจำที่ปรับให้เหมาะสมรวมถึงการใช้หน่วยความจำเซลล์ที่ได้รับการปรับปรุง โดยจะแยกสเปรดชีตขนาดใหญ่ออกเป็นส่วนเล็กๆ ดังนั้นจึงทำการจัดสรรหน่วยความจำและเผยแพร่ในส่วนเล็กๆ เหล่านี้ทำให้กระบวนการเร็วขึ้น ไลบรารียังใช้อัลกอริธึมเส้นขอบที่ปรับให้เหมาะสมซึ่งระบุตำแหน่งที่จะเริ่มวาดเส้นขอบได้อย่างรวดเร็ว
เริ่มต้นใช้งาน ReoGrid
ขั้นตอนต่อไปนี้อัพเดตคอมไพเลอร์และตั้งค่าตัวแปรสภาพแวดล้อมที่เหมาะสม
ติดตั้งคำสั่ง PIP
PM> Install-Package unvell.ReoGrid.dll
การสร้างสมุดงาน Excel ผ่าน .NET API
ไลบรารีโอเพ่นซอร์ส ReoGrid ช่วยให้นักพัฒนาซอฟต์แวร์สร้างเวิร์กบุ๊ก Excel ใหม่ด้วยโค้ด C# เพียงไม่กี่บรรทัด ไลบรารียังอนุญาตให้เพิ่มเวิร์กชีตใหม่ กำหนดชื่อให้กับเวิร์กชีต ลบชีตที่ไม่ต้องการ ย้ายเวิร์กชีต และอื่นๆ ไลบรารียังทำให้ง่ายต่อการเข้าถึงเวิร์กชีตและรองรับการจัดการข้อมูลเซลล์ สไตล์ เส้นขอบ เค้าร่าง ช่วง การคำนวณสูตร ฯลฯ
เพิ่มแผ่นงานลงใน Cookbook ผ่าน .NET API
private void btnAddWorksheet_Click(object sender, EventArgs e)
{
// create worksheet
var newSheet = this.grid.CreateWorksheet();
// set worksheet background color
newSheet.SetRangeStyles(RangePosition.EntireRange, GetRandomBackColorStyle());
// add worksheet into workbook
this.grid.AddWorksheet(newSheet);
// set worksheet as current focus
grid.CurrentWorksheet = newSheet;
}
ส่งออกไฟล์ Excel XLSX เป็น CSV & HTML
คอมโพเนนต์โอเพนซอร์ส ReoGrid ช่วยให้นักพัฒนาซอฟต์แวร์ส่งออกสเปรดชีต Excel XLSX เป็นรูปแบบไฟล์อื่นๆ ที่รองรับภายในแอปพลิเคชัน .NET ของตนเองได้ นักพัฒนาสามารถโหลดไฟล์ CSV, ส่งออกเวิร์กชีตในรูปแบบ CSV, ส่งออกเวิร์กชีตเป็น HTML หรือ PDF, ส่งออกสเปรดชีตไปยังเครื่องพิมพ์ และอื่นๆ ได้อย่างง่ายดาย นอกจากนี้ยังสามารถเลือกช่วงที่ระบุของแถวหรือกริด แทนที่จะเลือกทั้งเวิร์กชีตและส่งออกไปยังรูปแบบอื่นที่รองรับ นอกจากนี้ยังรองรับการส่งออกเวิร์กชีตไปยังไฟล์ RGF ด้วยโค้ดเพียงไม่กี่บรรทัด
แปลงไฟล์ Excel LS ไปยัง CSV ผ่าน .NET API
// load from stream
void LoadCSV(Stream s);
// load from file
void LoadCSV(string path);
// load from stream and convert string by specified encoding
void LoadCSV(Stream s, Encoding encoding);
// load from path and convert string by specified encoding
public void LoadCSV(string path, Encoding encoding);
//Export as CSV
worksheet.ExportAsCSV(Stream steam);
worksheet.ExportAsCSV(string filepath);
การเพิ่มแผนภูมิลงในแผ่นงาน
คอมโพเนนต์ ReoGrid ให้การสนับสนุนอย่างมากสำหรับการจัดการแผนภูมิภายในเวิร์กชีต Excel อนุญาตให้แสดงแผนภูมิบนเวิร์กชีตและบันทึกลงในหรือโหลดจากไฟล์ Excel มีแผนภูมิประเภทต่างๆ ที่รองรับภายในเวิร์กชีต เช่น แผนภูมิเส้น แผนภูมิคอลัมน์ แผนภูมิแท่ง Pro แผนภูมิพื้นที่ แผนภูมิวงกลม แผนภูมิโดนัท เป็นต้น คุณยังสามารถแก้ไขแผนภูมิของคุณได้อย่างง่ายดาย
เพิ่มแผนภูมิคอลัมน์ลงในไฟล์ Excel LS ผ่าน C # API
var worksheet = this.grid.CurrentWorksheet;
worksheet["A2"] = new object[,] {
{ null, 2008, 2009, 2010, 2011, 2012 },
{ "City 1", 3, 2, 4, 2, 6 },
{ "City 2", 7, 5, 3, 6, 4 },
{ "City 3", 13, 10, 9, 10, 9 },
{ "Total", "=SUM(B3:B5)", "=SUM(C3:C5)", "=SUM(D3:D5)",
"=SUM(E3:E5)", "=SUM(F3:F5)" },
};
// Create three ranges, data source range, row title range and column title range
var dataRange = worksheet.Ranges["B3:F5"];
var rowTitleRange = worksheet.Ranges["A3:A6"];
var categoryNamesRange = worksheet.Ranges["B2:F2"];
worksheet.AddHighlightRange(rowTitleRange);
worksheet.AddHighlightRange(categoryNamesRange);
worksheet.AddHighlightRange(dataRange);