Укажите, как пересекать строки в выводимом HTML с помощью HtmlCrossType в C++

Возможные сценарии использования

Когда ячейка содержит текст или строку, превышающую ширину ячейки, строка переполняется, если следующая ячейка в следующем столбце пустая или null. При сохранении файла Excel в HTML этот переполнение можно контролировать, задавая тип пересечения с помощью перечисления HtmlCrossType. Оно включает следующие значения:

  • HtmlCrossType.Default: Отображается как в MS Excel, зависит от следующей ячейки. Если следующая ячейка пуста, строка пересечется или будет усечена.

  • HtmlCrossType.MSExport: Отображение строки как при экспорте HTML из MS Excel.

  • HtmlCrossType.Cross: Отображение строки пересечения HTML, производительность при создании больших HTML-файлов будет более чем в десять раз быстрее, чем при установке значения Default или FitToCell.

  • HtmlCrossType.FitToCell: отображает строку только внутри ширины ячейки.

Указать, как пересекать строку в выходном HTML с использованием HtmlCrossType

Следующий пример кода загружает пример файла Excel и сохраняет его в формате HTML, задавая разные значения HtmlCrossType. Пожалуйста, скачайте выходные HTML, созданные этим кодом. Пример файла Excel содержит изображение с красной рамкой, как показано на этом скриншоте, который демонстрирует эффект значений HtmlCrossType на выводимый HTML.

todo:image_alt_text

Образец кода

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

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

    U16String inputFilePath(u"sampleHtmlCrossStringType.xlsx");
    Workbook wb(inputFilePath);

    HtmlSaveOptions opts;
    opts.SetHtmlCrossStringType(HtmlCrossType::Default);
    opts.SetHtmlCrossStringType(HtmlCrossType::MSExport);
    opts.SetHtmlCrossStringType(HtmlCrossType::Cross);
    opts.SetHtmlCrossStringType(HtmlCrossType::FitToCell);

    int htmlCrossType = static_cast<int>(opts.GetHtmlCrossStringType());
    std::string numStr = std::to_string(htmlCrossType);
    U16String outputFilePath = U16String(u"out") + U16String(numStr.c_str()) + U16String(u".htm");
    wb.Save(outputFilePath, opts);

    Aspose::Cells::Cleanup();
}