Example #1
0
        public static void ReadSpreadsheet(InternalSpreadsheet spreadsheet, string path)
        {
            var info = new FileInfo(path);

            using (var package = new ExcelPackage(info))
            {
                var worksheet = package.Workbook.Worksheets[0];
                var rowCount  = worksheet.Dimension.Rows;
                var colCount  = worksheet.Dimension.Columns;
                // Enhance: eventually we should detect any rows that are not ContentRows,
                // and either drop them or make plain SpreadsheetRows.
                ReadRow(worksheet, 0, colCount, spreadsheet.Header);
                for (var r = 1; r < rowCount; r++)
                {
                    var row = new ContentRow();
                    ReadRow(worksheet, r, colCount, row);
                    spreadsheet.AddRow(row);
                }
            }
        }
        private void AddTranslationGroupRow(XmlNode group, string pageNumber, int groupIndex)
        {
            var row = new ContentRow();

            row.AddCell(InternalSpreadsheet.TextGroupLabel);
            row.AddCell(pageNumber);
            row.AddCell(groupIndex.ToString(CultureInfo.InvariantCulture));
            foreach (var editable in group.SafeSelectNodes("./*[contains(@class, 'bloom-editable')]").Cast <XmlElement>())
            {
                var lang = editable.Attributes["lang"]?.Value ?? "";
                if (lang == "z" || lang == "")
                {
                    continue;
                }
                var index   = _spreadsheet.ColumnForLang(lang);
                var content = Params.RetainMarkup ? editable.InnerXml : GetContent(editable);
                row.SetCell(index, content);
            }

            _spreadsheet.AddRow(row);
        }
Example #3
0
 public SpreadsheetRow(InternalSpreadsheet spreadsheet)
 {
     spreadsheet.AddRow(this);
 }