تقليم الصفوف والأعمدة الفارغة في البداية أثناء تصدير جداول البيانات إلى تنسيق CSV باستخدام C++

سيناريوهات الاستخدام المحتملة

في بعض الأحيان، يكون لملف Excel أو CSV الخاص بك أعمدة أو صفوف فارغة في البداية. على سبيل المثال، فكر في السطر التالي:

 ,,,data1,data2

هنا تكون الأعمدة الثلاثة الأولى فارغة. عند فتح مثل هذا الملف CSV في Microsoft Excel، فإن Microsoft Excel يتجاهل هذه الأعمدة الرئيسية والصفوف.

بشكل افتراضي، لا تقوم Aspose.Cells بتجاهل الأعمدة والصفوف الفارغة الرائدة عند الحفظ ولكن إذا كنت ترغب في إزالتها تمامًا كما يفعل Microsoft Excel، فإن Aspose.Cells توفر الخاصية TxtSaveOptions.GetTrimLeadingBlankRowAndColumn(). يرجى ضبطها على true ثم سيتم تجاهل كل الصفوف والأعمدة الفارغة الرائدة عند الحفظ.

تقليص الصفوف والأعمدة الخالية أثناء تصدير جداول البيانات إلى تنسيق CSV

الكود النموذجي التالي يقوم بتحميل ملف الإكسيل المصدر الذي يحتوي على عمودين فارغين رائدين. يقوم أولاً بحفظ ملف الإكسيل في تنسيق CSV دون أي تغييرات ومن ثم يضبط الخاصية TxtSaveOptions.GetTrimLeadingBlankRowAndColumn() على true ويحفظه مرة أخرى. توضح اللقطة ملف الإكسيل المصدر، ملف CSV الناتج بدون تقليم، وملف CSV الناتج بالتقليم.

todo:image_alt_text

الكود المثالي

#include <iostream>
#include "Aspose.Cells.h"
using namespace Aspose::Cells;

int main()
{
    Aspose::Cells::Startup();

    // Source directory path
    U16String srcDir(u"..\\Data\\01_SourceDirectory\\");

    // Output directory path
    U16String outDir(u"..\\Data\\02_OutputDirectory\\");

    // Path of input excel file
    U16String inputFilePath = srcDir + u"sampleTrimBlankColumns.xlsx";

    // Create workbook
    Workbook wb(inputFilePath);

    // Save in csv format without trimming blank columns
    wb.Save(outDir + u"outputWithoutTrimBlankColumns.csv", SaveFormat::Csv);

    // Create TxtSaveOptions and set TrimLeadingBlankRowAndColumn to true
    TxtSaveOptions opts;
    opts.SetTrimLeadingBlankRowAndColumn(true);

    // Save in csv format with trimming blank columns
    wb.Save(outDir + u"outputTrimBlankColumns.csv", opts);

    std::cout << "Files saved successfully!" << std::endl;

    Aspose::Cells::Cleanup();
}