Stöd för layout av DIV taggar vid laddning av HTML till Excel arbetsbok med C++
Contents
[
Hide
]
Vanligtvis ignoreras layouten av DIV-taggar vid inläsning av HTML i ett Excel-arbetsboksobjekt. Men om du vill behålla layouten för DIV-taggar, ställ in egenskapen GetSupportDivTag() till true. Standardvärdet för denna egenskap är false.
Följande exempel visar hur egenskapen GetSupportDivTag() används. Vänligen ladda ner Aspose-logotypen som används i HTML-inmatningen och den utgångs-Excelfilen som genereras av koden.
#include <iostream>
#include <memory>
#include <vector>
#include <string>
#include <fstream>
#include <codecvt>
#include <locale>
#include "Aspose.Cells.h"
using namespace Aspose::Cells;
std::string convert_u16_to_string(const char16_t* data) {
std::wstring_convert<std::codecvt_utf8_utf16<char16_t>, char16_t> converter;
return converter.to_bytes(data);
}
int main()
{
Aspose::Cells::Startup();
U16String srcDir(u"..\\Data\\01_SourceDirectory\\");
U16String export_html = uR"(
<html>
<head>
<meta charset="UTF-8">
</head>
<body>
<table>
<tr>
<td>
<div>This is some Text.</div>
<div>
<div>
<span>This is some more Text</span>
</div>
<div>
<span>abc@abc.com</span>
</div>
<div>
<span>1234567890</span>
</div>
<div>
<span>ABC DEF</span>
</div>
</div>
<div>Generated On May 30, 2016 02:33 PM <br />Time Call Received from Jan 01, 2016 to May 30, 2016</div>
</td>
<td>
<img src=')" + srcDir + u"ASpose_logo_100x100.png" + uR"(' />
</td>
</tr>
</table>
</body>
</html>)";
std::string html_utf8 = convert_u16_to_string(export_html.GetData());
U16String tempHtmlPath = srcDir + u"temp.html";
std::ofstream tempFile(convert_u16_to_string(tempHtmlPath.GetData()).c_str(), std::ios::binary);
tempFile.write(html_utf8.data(), html_utf8.size());
tempFile.close();
HtmlLoadOptions loadOptions;
loadOptions.SetSupportDivTag(true);
Workbook wb(tempHtmlPath, loadOptions);
Worksheet ws = wb.GetWorksheets().Get(0);
ws.AutoFitRows();
ws.AutoFitColumns();
U16String outputPath = srcDir + u"DivTagsLayout_out.xlsx";
wb.Save(outputPath, SaveFormat::Xlsx);
std::cout << "Workbook saved successfully!" << std::endl;
Aspose::Cells::Cleanup();
return 0;
}