Proyectos de Subversion Moodle

Rev

Rev 1 | Mostrar el archivo completo | | | Autoría | Ultima modificación | Ver Log |

Rev 1 Rev 1441
Línea 11... Línea 11...
11
use OpenSpout\Reader\XLSX\Helper\CellValueFormatter;
11
use OpenSpout\Reader\XLSX\Helper\CellValueFormatter;
12
use OpenSpout\Reader\XLSX\Options;
12
use OpenSpout\Reader\XLSX\Options;
13
use OpenSpout\Reader\XLSX\RowIterator;
13
use OpenSpout\Reader\XLSX\RowIterator;
14
use OpenSpout\Reader\XLSX\Sheet;
14
use OpenSpout\Reader\XLSX\Sheet;
15
use OpenSpout\Reader\XLSX\SheetHeaderReader;
15
use OpenSpout\Reader\XLSX\SheetHeaderReader;
-
 
16
use OpenSpout\Reader\XLSX\SheetMergeCellsReader;
Línea 16... Línea 17...
16
 
17
 
17
/**
18
/**
18
 * @internal
19
 * @internal
19
 */
20
 */
Línea 47... Línea 48...
47
 
48
 
48
    /**
49
    /**
49
     * State value to represent a hidden sheet.
50
     * State value to represent a hidden sheet.
50
     */
51
     */
-
 
52
    public const SHEET_STATE_HIDDEN = 'hidden';
Línea 51... Línea 53...
51
    public const SHEET_STATE_HIDDEN = 'hidden';
53
    public const SHEET_STATE_VERY_HIDDEN = 'veryHidden';
52
 
54
 
Línea 53... Línea 55...
53
    /** @var string Path of the XLSX file being read */
55
    /** @var string Path of the XLSX file being read */
Línea 176... Línea 178...
176
    {
178
    {
177
        $sheetId = $xmlReaderOnSheetNode->getAttribute(self::XML_ATTRIBUTE_R_ID);
179
        $sheetId = $xmlReaderOnSheetNode->getAttribute(self::XML_ATTRIBUTE_R_ID);
178
        \assert(null !== $sheetId);
180
        \assert(null !== $sheetId);
Línea 179... Línea 181...
179
 
181
 
180
        $sheetState = $xmlReaderOnSheetNode->getAttribute(self::XML_ATTRIBUTE_STATE);
182
        $sheetState = $xmlReaderOnSheetNode->getAttribute(self::XML_ATTRIBUTE_STATE);
Línea 181... Línea 183...
181
        $isSheetVisible = (self::SHEET_STATE_HIDDEN !== $sheetState);
183
        $isSheetVisible = (self::SHEET_STATE_HIDDEN !== $sheetState && self::SHEET_STATE_VERY_HIDDEN !== $sheetState);
182
 
184
 
183
        $escapedSheetName = $xmlReaderOnSheetNode->getAttribute(self::XML_ATTRIBUTE_NAME);
185
        $escapedSheetName = $xmlReaderOnSheetNode->getAttribute(self::XML_ATTRIBUTE_NAME);
Línea 184... Línea 186...
184
        \assert(null !== $escapedSheetName);
186
        \assert(null !== $escapedSheetName);
Línea -... Línea 187...
-
 
187
        $sheetName = $this->escaper->unescape($escapedSheetName);
-
 
188
 
-
 
189
        $sheetDataXMLFilePath = $this->getSheetDataXMLFilePathForSheetId($sheetId);
-
 
190
 
-
 
191
        $mergeCells = [];
-
 
192
        if ($this->options->SHOULD_LOAD_MERGE_CELLS) {
-
 
193
            $mergeCells = (new SheetMergeCellsReader(
-
 
194
                $this->filePath,
-
 
195
                $sheetDataXMLFilePath,
-
 
196
                $xmlReader = new XMLReader(),
185
        $sheetName = $this->escaper->unescape($escapedSheetName);
197
                new XMLProcessor($xmlReader)
186
 
198
            ))->getMergeCells();
187
        $sheetDataXMLFilePath = $this->getSheetDataXMLFilePathForSheetId($sheetId);
199
        }
188
 
200
 
189
        return new Sheet(
201
        return new Sheet(
190
            $this->createRowIterator($this->filePath, $sheetDataXMLFilePath, $this->options, $this->sharedStringsManager),
202
            $this->createRowIterator($this->filePath, $sheetDataXMLFilePath, $this->options, $this->sharedStringsManager),
191
            $this->createSheetHeaderReader($this->filePath, $sheetDataXMLFilePath),
203
            $this->createSheetHeaderReader($this->filePath, $sheetDataXMLFilePath),
-
 
204
            $sheetIndexZeroBased,
192
            $sheetIndexZeroBased,
205
            $sheetName,
193
            $sheetName,
206
            $isSheetActive,
Línea 194... Línea 207...
194
            $isSheetActive,
207
            $isSheetVisible,
195
            $isSheetVisible
208
            $mergeCells
Línea 238... Línea 251...
238
        string $filePath,
251
        string $filePath,
239
        string $sheetDataXMLFilePath,
252
        string $sheetDataXMLFilePath,
240
        Options $options,
253
        Options $options,
241
        SharedStringsManager $sharedStringsManager
254
        SharedStringsManager $sharedStringsManager
242
    ): RowIterator {
255
    ): RowIterator {
243
        $xmlReader = new XMLReader();
-
 
244
 
-
 
245
        $workbookRelationshipsManager = new WorkbookRelationshipsManager($filePath);
256
        $workbookRelationshipsManager = new WorkbookRelationshipsManager($filePath);
246
        $styleManager = new StyleManager(
257
        $styleManager = new StyleManager(
247
            $filePath,
258
            $filePath,
248
            $workbookRelationshipsManager->hasStylesXMLFile()
259
            $workbookRelationshipsManager->hasStylesXMLFile()
249
                ? $workbookRelationshipsManager->getStylesXMLFilePath()
260
                ? $workbookRelationshipsManager->getStylesXMLFilePath()
Línea 260... Línea 271...
260
 
271
 
261
        return new RowIterator(
272
        return new RowIterator(
262
            $filePath,
273
            $filePath,
263
            $sheetDataXMLFilePath,
274
            $sheetDataXMLFilePath,
264
            $options->SHOULD_PRESERVE_EMPTY_ROWS,
275
            $options->SHOULD_PRESERVE_EMPTY_ROWS,
265
            $xmlReader,
276
            $xmlReader = new XMLReader(),
266
            new XMLProcessor($xmlReader),
277
            new XMLProcessor($xmlReader),
267
            $cellValueFormatter,
278
            $cellValueFormatter,
268
            new RowManager()
279
            new RowManager()
269
        );
280
        );