23#include <osl/thread.h>
31 aFieldSeps ( OUString(
';') ),
32 bMergeFieldSeps ( false ),
33 bRemoveSpace ( false ),
34 bQuotedFieldAsText(false),
35 bDetectSpecialNumber(false),
36 bDetectScientificNumber(true),
37 bEvaluateFormulas(true),
38 bSkipEmptyCells(false),
42 cTextSep ( cDefaultTextSep ),
43 eCharSet ( osl_getThreadTextEncoding() ),
45 bCharSetSystem ( false ),
52 sal_uInt16 nInfoCount =
static_cast< sal_uInt16
>( rDataVec.size() );
55 for( sal_uInt16 nIx = 0; nIx < nInfoCount; ++nIx )
64 if ( rSepNums.empty() )
67 OUStringBuffer aFieldSeps;
73 o_bMergeFieldSeps =
true;
83 return aFieldSeps.makeStringAndClear();
91 sal_Int32
nPos = rString.empty() ? -1 : 0;
131 for (sal_Int32 nInfo=0; nInfo<nInfoCount; ++nInfo)
213 OUStringBuffer aOutStr;
223 for (sal_Int32
i=0;
i<nLen;
i++)
231 aOutStr.append(OUString::Concat(
"/") +
pStrMrg);
236 aOutStr.append(
"," + OUString::number(
cTextSep) +
",");
245 aOutStr.append(
"," + OUString::number(
nStartRow) +
",");
248 for (
size_t nInfo=0; nInfo<
mvColStart.size(); nInfo++)
252 aOutStr.append(OUString::number(
mvColStart[nInfo]) +
263 OUString::number(
static_cast<sal_uInt16
>(
eLang)) +
"," +
283 return aOutStr.makeStringAndClear();
constexpr std::u16string_view pStrFix
static OUString lcl_decodeSepString(std::u16string_view rSepNums, bool &o_bMergeFieldSeps)
constexpr std::u16string_view pStrMrg
void SetColumnInfo(const ScCsvExpDataVec &rDataVec)
static sal_Unicode GetWeightedFieldSep(const OUString &rFieldSeps, bool bDecodeNumbers)
From the import field separators obtain the one most likely to be used for export,...
bool bDetectSpecialNumber
rtl_TextEncoding eCharSet
void ReadFromString(std::u16string_view rString)
std::vector< sal_uInt8 > mvColFormat
bool bDetectScientificNumber
OUString WriteToString() const
std::vector< sal_Int32 > mvColStart
static rtl_TextEncoding GetCharsetValue(std::u16string_view rCharSet)
static OUString GetCharsetString(rtl_TextEncoding eVal)
::std::vector< ScCsvExpData > ScCsvExpDataVec
sal_Int32 getTokenCount(std::string_view rIn, char cTok)
sal_Int32 toInt32(std::u16string_view str, sal_Int16 radix=10)
std::basic_string_view< charT, traits > getToken(std::basic_string_view< charT, traits > sv, charT delimiter, std::size_t &position)