Tạo và thao tác bảng trong PowerPoint C#

Bảng được sử dụng để sắp xếp dữ liệu dưới dạng hàng và cột. Hơn nữa, họ tổ chức và tóm tắt dữ liệu để có thể xem và phân tích dữ liệu một cách dễ dàng. MS PowerPoint cũng cho phép bạn chèn bảng trong bản trình bày. Theo đó, bài viết này trình bày cách tạo và thao tác với bảng trong bản trình chiếu PowerPoint bằng C#.

C# API để tạo và thao tác bảng trong PowerPoint

Để tạo và thao tác các bảng trong bản trình bày PowerPoint, chúng tôi sẽ sử dụng Aspose.Slides for .NET. API cho phép bạn tạo, thao tác và chuyển đổi các tài liệu PowerPoint và OpenOffice. Bạn có thể tải xuống DLL của API và thêm tham chiếu đến nó trong dự án của bạn. Ngoài ra, bạn có thể cài đặt nó bằng NuGet.

PM> Install-Package Aspose.Slides.NET

Tạo bảng trong bản trình bày PowerPoint bằng C#

Tạo một bảng bằng Aspose.Slides for .NET là một phần nhỏ. Các bước sau đây trình bày cách tạo bảng trong bản trình bày PowerPoint bằng C#.

  • Đầu tiên, tạo bản trình bày mới hoặc tải bản trình bày hiện có bằng lớp Trình bày.
  • Sau đó, lấy tham chiếu của trang trình bày mong muốn vào đối tượng ISlide.
  • Xác định chiều rộng và chiều cao của cột và hàng tương ứng trong mảng [] kép.
  • Chèn một bảng mới trong bản trình bày bằng phương thức ISlide.Shapes.AddTable().
  • Nhận tham chiếu của bảng mới được tạo trong một đối tượng ITable.
  • Tạo một vòng lặp để lặp qua các hàng của bảng.
  • Tạo một vòng lặp lồng nhau để lặp qua các ô của bảng và trong mỗi lần lặp, hãy thực hiện các thao tác sau.
  • Cuối cùng, lưu bản trình bày bằng phương thức Presentation.Save (String, SaveFormat).

Mẫu mã sau đây cho biết cách tạo bảng trong bản trình bày PowerPoint.

// Tạo hoặc tải bản trình bày
Presentation pres = new Presentation();

// Truy cập trang trình bày đầu tiên
ISlide sld = pres.Slides[0];

// Xác định cột có chiều rộng và hàng có chiều cao
double[] dblCols = { 50, 50, 50 };
double[] dblRows = { 50, 30, 30, 30, 30 };

// Thêm hình dạng bảng vào trang trình bày
ITable tbl = sld.Shapes.AddTable(100, 50, dblCols, dblRows);

// Đặt định dạng đường viền và văn bản cho mỗi ô
for (int row = 0; row < tbl.Rows.Count; row++)
{
	for (int cell = 0; cell < tbl.Rows[row].Count; cell++)
	{  
		// Thêm văn bản vào ô
		tbl.Rows[row][cell].TextFrame.Text = "Cells_" + cell;

		tbl.Rows[row][cell].CellFormat.BorderTop.FillFormat.FillType = FillType.Solid;
		tbl.Rows[row][cell].CellFormat.BorderTop.FillFormat.SolidFillColor.Color = Color.Red;
		tbl.Rows[row][cell].CellFormat.BorderTop.Width = 5;

		tbl.Rows[row][cell].CellFormat.BorderBottom.FillFormat.FillType = (FillType.Solid);
		tbl.Rows[row][cell].CellFormat.BorderBottom.FillFormat.SolidFillColor.Color= Color.Red;
		tbl.Rows[row][cell].CellFormat.BorderBottom.Width =5;

		tbl.Rows[row][cell].CellFormat.BorderLeft.FillFormat.FillType = FillType.Solid;
		tbl.Rows[row][cell].CellFormat.BorderLeft.FillFormat.SolidFillColor.Color =Color.Red;
		tbl.Rows[row][cell].CellFormat.BorderLeft.Width = 5;

		tbl.Rows[row][cell].CellFormat.BorderRight.FillFormat.FillType = FillType.Solid;
		tbl.Rows[row][cell].CellFormat.BorderRight.FillFormat.SolidFillColor.Color = Color.Red;
		tbl.Rows[row][cell].CellFormat.BorderRight.Width = 5;
	}
}

// Lưu PPTX vào đĩa
pres.Save("table.pptx", SaveFormat.Pptx);

Ảnh chụp màn hình sau đây cho thấy bảng mà chúng tôi đã tạo bằng cách sử dụng mã trên.

Tạo bảng trong PowerPoint C#

Truy cập Bảng trong Bản trình bày bằng C#

Bạn cũng có thể truy cập các bảng trong bản trình bày PowerPoint hiện có và thao tác chúng theo yêu cầu. Sau đây là các bước để truy cập các bảng trong bản trình bày.

  • Đầu tiên, tải một bản trình bày hiện có bằng lớp Trình bày.
  • Sau đó, lấy tham chiếu của trang trình bày mong muốn vào đối tượng ISlide.
  • Tạo một thể hiện của ITable và khởi tạo nó bằng null.
  • Lặp lại qua tất cả các đối tượng IShape trong bộ sưu tập ISlide.Shapes.
  • Lọc các hình dạng của loại ITable.
  • Nhập hình dạng thành ITable và thao tác theo yêu cầu.
  • Cuối cùng, lưu bản trình bày bằng phương thức Presentation.Save (String, SaveFormat).

Mẫu mã sau đây cho thấy cách truy cập bảng trong bản trình bày PowerPoint bằng C#.

// Tải bản trình bày
using (Presentation pres = new Presentation("UpdateExistingTable.pptx"))
{
    // Truy cập trang trình bày đầu tiên
    ISlide sld = pres.Slides[0];

    // Khởi tạo null TableEx
    ITable tbl = null;

    // Lặp lại các hình dạng và đặt một tham chiếu đến bảng được tìm thấy
    foreach (IShape shp in sld.Shapes)
        if (shp is ITable)
            tbl = (ITable)shp;

    // Đặt văn bản của cột đầu tiên của hàng thứ hai
    tbl[0, 1].TextFrame.Text = "New";

    //Ghi PPTX vào đĩa
    pres.Save("table1_out.pptx", Aspose.Slides.Export.SaveFormat.Pptx);
}

Định dạng Văn bản trong Bảng PowerPoint bằng C#

Aspose.Slides for .NET cũng cho phép bạn thiết lập định dạng bảng khá dễ dàng, như được trình bày trong các bước dưới đây.

Mẫu mã sau đây cho thấy cách đặt định dạng bảng trong PowerPoint bằng C#.

// Tạo hoặc tải bản trình bày
Presentation presentation = new Presentation();

// Nhận tài liệu tham khảo của trang trình bày
ISlide slide = presentation.Slides[0];

// Tham khảo bảng
ITable someTable = presentation.Slides[0].Shapes[0] as ITable; // let's say that the first shape on the first slide is a table

// Đặt chiều cao phông chữ của các ô trong bảng
PortionFormat portionFormat = new PortionFormat();
portionFormat.FontHeight = 25;
someTable.SetTextFormat(portionFormat);

// Đặt căn chỉnh văn bản và lề phải của các ô trong bảng trong một lệnh gọi
ParagraphFormat paragraphFormat = new ParagraphFormat();
paragraphFormat.Alignment = TextAlignment.Right;
paragraphFormat.MarginRight = 20;
someTable.SetTextFormat(paragraphFormat);

// Đặt kiểu dọc văn bản của các ô trong bảng
TextFrameFormat textFrameFormat = new TextFrameFormat();
textFrameFormat.TextVerticalType = TextVerticalType.Vertical;
someTable.SetTextFormat(textFrameFormat);

// Lưu bản trình bày
presentation.Save("result.pptx", SaveFormat.Pptx);

Khóa tỷ lệ khung hình của bảng trong PowerPoint bằng C#

Bạn cũng có thể khóa tỷ lệ khung hình của các bảng trong bản trình bày PowerPoint bằng C#. Sau đây là các bước để đạt được điều này.

  • Đầu tiên, tải một bản trình bày hiện có bằng lớp Trình bày.
  • Sau đó, lấy tham chiếu của trang trình bày mong muốn vào đối tượng ISlide.
  • Tạo bảng hoặc truy xuất tham chiếu của bảng hiện có vào đối tượng ITable.
  • Đặt thuộc tính ITable.ShapeLock.AspectRatioLocked thành! ITable.ShapeLock.AspectRatioLocked để khóa tỷ lệ khung hình.
  • Cuối cùng, lưu bản trình bày bằng phương thức Presentation.Save (String, SaveFormat).

Mẫu mã sau đây cho thấy cách khóa tỷ lệ co của bảng trong bản trình bày PowerPoint.

// Tải bản trình bày
using (Presentation pres = new Presentation("presentation.pptx"))
{
    // Tham khảo bảng
    ITable table = (ITable)pres.Slides[0].Shapes[0];
    Console.WriteLine($"Khóa tỷ lệ khung hình set: {table.ShapeLock.AspectRatioLocked}");

    // Khóa tỷ lệ khung hình
    table.ShapeLock.AspectRatioLocked = !table.ShapeLock.AspectRatioLocked; // invert
    Console.WriteLine($"Khóa tỷ lệ khung hình set: {table.ShapeLock.AspectRatioLocked}");

    // Lưu bản trình bày
    pres.Save("pres-out.pptx", SaveFormat.Pptx);
}

Nhận giấy phép API miễn phí

Bạn có thể sử dụng Aspose.Slides for .NET mà không bị giới hạn đánh giá bằng cách nhận giấy phép tạm thời miễn phí.

Sự kết luận

Trong bài này, bạn đã học cách tạo bảng trong bản trình bày PowerPoint bằng C#. Hơn nữa, bạn đã thấy cách truy cập và thao tác với các bảng hiện có trong bản trình bày PowerPoint theo chương trình. Ngoài ra, bạn có thể truy cập tài liệu để khám phá thêm về Aspose.Slides for .NET. Ngoài ra, bạn có thể đặt câu hỏi của mình qua diễn đàn của chúng tôi.

Xem thêm