/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ /* * This file is part of the LibreOffice project. * * This Source Code Form is subject to the terms of the Mozilla Public * License, v. 2.0. If a copy of the MPL was not distributed with this * file, You can obtain one at http://mozilla.org/MPL/2.0/. * * This file incorporates work covered by the following license notice: * * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed * with this work for additional information regarding copyright * ownership. The ASF licenses this file to you under the Apache * License, Version 2.0 (the "License"); you may not use this file * except in compliance with the License. You may obtain a copy of * the License at http://www.apache.org/licenses/LICENSE-2.0 .
*/
// Token 6: Import quoted field as text. if (nPos >= 0)
{
bQuotedFieldAsText = o3tl::getToken(rString, 0, ',', nPos) == u"true";
}
// Token 7: Detect special numbers. if (nPos >= 0)
{
bDetectSpecialNumber = o3tl::getToken(rString, 0, ',', nPos) == u"true";
} else
bDetectSpecialNumber = true; // default of versions that didn't add the parameter
// Token 8: used for "Save as shown" in export options if ( nPos >= 0 )
{
bSaveAsShown = o3tl::getToken(rString, 0, ',', nPos) == u"true";
} else
bSaveAsShown = true; // default value
// Token 9: used for "Save cell formulas" in export options if ( nPos >= 0 )
{
bSaveFormulas = o3tl::getToken(rString, 0, ',', nPos) == u"true";
} else
bSaveFormulas = false;
// Token 10: Boolean for Trim spaces. if (nPos >= 0)
{
bRemoveSpace = o3tl::getToken(rString, 0, ',', nPos) == u"true";
} else
bRemoveSpace = false;
// Token 11: sheet to export for --convert-to csv // Does not need to be evaluated here but may be present. if (nPos >= 0)
{
o3tl::getToken(rString, 0, ',', nPos);
}
// Token 12: evaluate formulas. if (nPos >= 0)
{ // If present, defaults to "false".
bEvaluateFormulas = o3tl::getToken(rString, 0, ',', nPos) == u"true";
} else
bEvaluateFormulas = true; // default of versions that didn't add the parameter
//Token 2: Text encoding. if ( bCharSetSystem ) // force "SYSTEM"
aOutStr.append(ScGlobal::GetCharsetString( RTL_TEXTENCODING_DONTKNOW )); else
aOutStr.append(ScGlobal::GetCharsetString( eCharSet ));
//Token 3: Number of start row.
aOutStr.append("," + OUString::number(nStartRow) + ",");
//Token 4: Column info. for (size_t nInfo=0; nInfo<mvColStart.size(); nInfo++)
{ if (nInfo)
aOutStr.append("/");
aOutStr.append(OUString::number(mvColStart[nInfo]) + "/" +
OUString::number(mvColFormat[nInfo]));
}
// #i112025# the options string is used in macros and linked sheets, // so new options must be added at the end, to remain compatible // Always keep in sync with ScImportOptions.
aOutStr.append("," + // Token 5: Language
OUString::number(static_cast<sal_uInt16>(eLang)) + "," + // Token 6: Import quoted field as text.
OUString::boolean( bQuotedFieldAsText ) + "," + // Token 7: Detect special numbers.
OUString::boolean( bDetectSpecialNumber ) + "," + // Token 8: used for "Save as shown" in export options
OUString::boolean( bSaveAsShown ) +"," + // Token 9: used for "Save cell formulas" in export options
OUString::boolean( bSaveFormulas ) + "," + // Token 10: Trim Space
OUString::boolean( bRemoveSpace ) + // Token 11: sheet to export, always 0 for current sheet ",0," + // Token 12: evaluate formulas in import
OUString::boolean( bEvaluateFormulas ) + "," + // Token 13: include BOM
OUString::boolean(bIncludeBOM) + "," + // Token 14: Detect scientific numbers.
OUString::boolean( bDetectScientificNumber )
); return aOutStr.makeStringAndClear();
}
// static
sal_Unicode ScAsciiOptions::GetWeightedFieldSep( const OUString & rFieldSeps, boolbDecodeNumbers )
{ bool bMergeFieldSeps = false;
OUString aFieldSeps( bDecodeNumbers ? lcl_decodeSepString( rFieldSeps, bMergeFieldSeps) : rFieldSeps); if (aFieldSeps.isEmpty())
{ return 0;
} elseif (aFieldSeps.getLength() == 1) return aFieldSeps[0]; else
{ // There can be only one separator for output. See also fdo#53449 if (aFieldSeps.indexOf(',') != -1) return','; elseif (aFieldSeps.indexOf('\t') != -1) return'\t'; elseif (aFieldSeps.indexOf(';') != -1) return';'; elseif (aFieldSeps.indexOf(' ') != -1) return' '; else return aFieldSeps[0];
}
}
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.