mirror of
https://github.com/ONLYOFFICE/core.git
synced 2026-04-07 13:55:33 +08:00
Add pivotCache stream writing
This commit is contained in:
@ -34,6 +34,7 @@
|
|||||||
#include "../Format/Binary/CompoundFile.h"
|
#include "../Format/Binary/CompoundFile.h"
|
||||||
#include "../Format/Binary/CFStreamCacheWriter.h"
|
#include "../Format/Binary/CFStreamCacheWriter.h"
|
||||||
#include "../Format/Logic/WorkbookStreamObject.h"
|
#include "../Format/Logic/WorkbookStreamObject.h"
|
||||||
|
#include <iomanip>
|
||||||
|
|
||||||
bool XlsWriter::Open(const std::wstring &fileName)
|
bool XlsWriter::Open(const std::wstring &fileName)
|
||||||
{
|
{
|
||||||
@ -78,3 +79,12 @@ bool XlsWriter::WriteStreamObject(std::wstring &streamName, XLS::BaseObjectPtr s
|
|||||||
stream_proc.mandatory(*streamObject);
|
stream_proc.mandatory(*streamObject);
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
bool XlsWriter::WritePivotCache(XLS::BaseObjectPtr streamObject, _UINT32 cacheId)
|
||||||
|
{
|
||||||
|
auto DirectoryName = L"_SX_DB_CUR/";
|
||||||
|
std::wstringstream ss;
|
||||||
|
ss << std::hex << std::setw(4) << std::setfill(L'0') << std::uppercase << cacheId;
|
||||||
|
std::wstring streamName = DirectoryName + ss.str();
|
||||||
|
return WriteStreamObject(streamName, streamObject);
|
||||||
|
}
|
||||||
|
|||||||
@ -44,6 +44,7 @@ class XlsWriter
|
|||||||
public:
|
public:
|
||||||
bool Open(const std::wstring &fileName);
|
bool Open(const std::wstring &fileName);
|
||||||
bool WriteWorkbook(XLS::BaseObjectPtr streamObject);
|
bool WriteWorkbook(XLS::BaseObjectPtr streamObject);
|
||||||
|
bool WritePivotCache(XLS::BaseObjectPtr streamObject, _UINT32 cacheId);
|
||||||
bool WriteStreamObject(std::wstring &streamName, XLS::BaseObjectPtr streamObject);
|
bool WriteStreamObject(std::wstring &streamName, XLS::BaseObjectPtr streamObject);
|
||||||
|
|
||||||
boost::shared_ptr<XLS::GlobalWorkbookInfo> globalInfoPtr;
|
boost::shared_ptr<XLS::GlobalWorkbookInfo> globalInfoPtr;
|
||||||
|
|||||||
Reference in New Issue
Block a user