Chia văn bản thành các cột trong tệp Excel bằng C ++

Microsoft Excel cho phép chia văn bản thành nhiều cột bằng cách sử dụng các dấu phân cách như dấu cách trống, dấu phẩy hoặc các ký tự khác. Tính năng này có thể hữu ích trong các tình huống như chuyển đổi dữ liệu được phân tách bằng dấu phẩy được xuất từ bảng cơ sở dữ liệu sang dạng bảng. Để kết thúc, bài viết này sẽ hướng dẫn bạn cách chia văn bản thành các cột trong tệp Excel bằng C ++.

API C ++ để tách văn bản thành cột trong tệp Excel

Chúng tôi sẽ sử dụng API Aspose.Cells for C ++ để tách văn bản thành các cột trong tệp Excel. Đây là một thư viện C ++ gốc cho phép bạn tạo, đọc và sửa đổi các tệp Excel mà không yêu cầu cài đặt Microsoft Excel. Bạn có thể cài đặt API thông qua NuGet hoặc tải xuống trực tiếp từ phần Tải xuống.

PM> Install-Package Aspose.Cells.Cpp

Chia văn bản thành các cột trong tệp Excel bằng C ++

Sau đây là các bước để tách văn bản thành các cột trong tệp Excel.

Mã mẫu sau đây trình bày cách chia văn bản thành các cột trong tệp Excel bằng C ++.

// Đường dẫn thư mục nguồn.
StringPtr srcDir = new String("SourceDirectory\\");

// Đường dẫn thư mục đầu ra.
StringPtr outDir = new String("OutputDirectory\\");

// Đường dẫn của tệp excel đầu ra
StringPtr outputFile = outDir->StringAppend(new String("TextToColumns.xlsx"));

// Tạo một phiên bản của lớp IWorkbook
intrusive_ptr<IWorkbook> workbook = Factory::CreateIWorkbook();

// Truy cập trang tính đầu tiên
intrusive_ptr<IWorksheet> worksheet = workbook->GetIWorksheets()->GetObjectByIndex(0);

// Thêm dữ liệu mẫu
intrusive_ptr<String> str = new String("John Teal");
worksheet->GetICells()->GetObjectByIndex(new String("A1"))->PutValue(str);
str = new String("Peter Graham");
worksheet->GetICells()->GetObjectByIndex(new String("A2"))->PutValue(str);
str = new String("Brady Cortez");
worksheet->GetICells()->GetObjectByIndex(new String("A3"))->PutValue(str);
str = new String("Mack Nick");
worksheet->GetICells()->GetObjectByIndex(new String("A4"))->PutValue(str);
str = new String("Hsu Lee");
worksheet->GetICells()->GetObjectByIndex(new String("A5"))->PutValue(str);

// Tạo một phiên bản của lớp ITxtLoadOptions
intrusive_ptr<ITxtLoadOptions> options = Factory::CreateITxtLoadOptions();

// Chỉ định dấu phân tách để phân tách văn bản
options->SetSeparator(' ');

// Tách văn bản thành các cột
worksheet->GetICells()->TextToColumns(0, 0, 5, options);

// Lưu tệp excel đầu ra
workbook->Save(outputFile);
Hình ảnh của tệp Excel đầu ra hiển thị văn bản được chia thành hai cột

Hình ảnh của tệp Excel đầu ra hiển thị văn bản được chia thành hai cột

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

Để dùng thử API mà không có giới hạn đánh giá, bạn có thể yêu cầu giấy phép tạm thời miễn phí.

Sự kết luận

Trong bài viết này, bạn đã học cách chia văn bản thành nhiều cột trong tệp Excel bằng C ++. Bạn đã thấy đoạn mã hoàn chỉnh cùng với các bước cần thiết để đạt được điều này. Aspose.Cells for C ++ là một API mạnh mẽ cung cấp nhiều tính năng bổ sung để tự động hóa các tác vụ liên quan đến Excel của bạn. Bạn có thể khám phá API chi tiết bằng cách truy cập tài liệu chính thức. Trong trường hợp có bất kỳ câu hỏi nào, vui lòng liên hệ với chúng tôi trên diễn đàn hỗ trợ miễn phí của chúng tôi.

Xem thêm