[Libreoffice-commits] core.git: sc/source
Markus Mohrhard
markus.mohrhard at googlemail.com
Thu Aug 10 17:14:49 UTC 2017
sc/source/ui/docshell/dataprovider.cxx | 55 +++++++++++++++------------------
1 file changed, 26 insertions(+), 29 deletions(-)
New commits:
commit 631023655da490f9e5c5721389ccd34b491307be
Author: Markus Mohrhard <markus.mohrhard at googlemail.com>
Date: Thu Aug 10 09:13:08 2017 +0200
external data: import all the csv data
Change-Id: Ifcb2c42594713ed263ef38c1ef0e8bc0efbce01e
Reviewed-on: https://gerrit.libreoffice.org/40963
Tested-by: Jenkins <ci at libreoffice.org>
Reviewed-by: Markus Mohrhard <markus.mohrhard at googlemail.com>
diff --git a/sc/source/ui/docshell/dataprovider.cxx b/sc/source/ui/docshell/dataprovider.cxx
index 97dbea72fa8d..9d17c892cb96 100644
--- a/sc/source/ui/docshell/dataprovider.cxx
+++ b/sc/source/ui/docshell/dataprovider.cxx
@@ -249,43 +249,40 @@ void CSVFetchThread::execute()
{
OStringBuffer aBuffer(64000);
std::unique_ptr<SvStream> pStream = FetchStreamFromURL(maURL, aBuffer);
- if (pStream->good())
+ SCROW nCurRow = 0;
+ SCCOL nCol = 0;
+ while (pStream->good())
{
- LinesType aLines(10);
- SCROW nCurRow = 0;
- SCCOL nCol = 0;
- for (Line & rLine : aLines)
- {
- if (mbTerminate)
- break;
+ if (mbTerminate)
+ break;
+
+ Line aLine;
+ aLine.maCells.clear();
+ pStream->ReadLine(aLine.maLine);
+ CSVHandler aHdl(aLine, MAXCOL);
+ orcus::csv_parser<CSVHandler> parser(aLine.maLine.getStr(), aLine.maLine.getLength(), aHdl, maConfig);
+ parser.parse();
- rLine.maCells.clear();
- pStream->ReadLine(rLine.maLine);
- CSVHandler aHdl(rLine, MAXCOL);
- orcus::csv_parser<CSVHandler> parser(rLine.maLine.getStr(), rLine.maLine.getLength(), aHdl, maConfig);
- parser.parse();
+ if (aLine.maCells.empty())
+ {
+ break;
+ }
- if (rLine.maCells.empty())
+ nCol = 0;
+ const char* pLineHead = aLine.maLine.getStr();
+ for (auto& rCell : aLine.maCells)
+ {
+ if (rCell.mbValue)
{
- break;
+ mrDocument.SetValue(ScAddress(nCol, nCurRow, 0 /* Tab */), rCell.mfValue);
}
-
- nCol = 0;
- const char* pLineHead = rLine.maLine.getStr();
- for (auto& rCell : rLine.maCells)
+ else
{
- if (rCell.mbValue)
- {
- mrDocument.SetValue(ScAddress(nCol, nCurRow, 0 /* Tab */), rCell.mfValue);
- }
- else
- {
- mrDocument.SetString(nCol, nCurRow, 0 /* Tab */, OUString(pLineHead+rCell.maStr.Pos, rCell.maStr.Size, RTL_TEXTENCODING_UTF8));
- }
- ++nCol;
+ mrDocument.SetString(nCol, nCurRow, 0 /* Tab */, OUString(pLineHead+rCell.maStr.Pos, rCell.maStr.Size, RTL_TEXTENCODING_UTF8));
}
- nCurRow++;
+ ++nCol;
}
+ nCurRow++;
}
SolarMutexGuard aGuard;
mpIdle->Start();
More information about the Libreoffice-commits
mailing list