powered by simpleCommunicator - 2.0.51     © 2025 Programmizd 02
Форумы / ADO.NET, LINQ, Entity Framework, NHibernate, DAL, ORM [игнор отключен] [закрыт для гостей] / Чтение .xlsx при помощи Open Xml SDK
4 сообщений из 4, страница 1 из 1
Чтение .xlsx при помощи Open Xml SDK
    #37395131
tiv83
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Здравтвуйте! Подскажите пожалуйста, как найти индекс колонки? Требуется записать данные из таблицы в массив, выделенная строка находить колонку только для букв A-Z, как переключить на отображение номера колонки, или через какое свойство его найти?

public static SharedStringItem GetSharedStringItemById(WorkbookPart workbookPart, int id)
{
return workbookPart.SharedStringTablePart.SharedStringTable.Elements<SharedStringItem>().ElementAt(id);
}

public static object[,] ReadXlsFile(string filepath)
{
try
{
using (SpreadsheetDocument spreadsheetDocument = SpreadsheetDocument.Open(filepath, false))
{
var sheets = spreadsheetDocument.WorkbookPart.Workbook.Descendants<Sheet>();

foreach (Sheet sheet in sheets)
{
WorksheetPart worksheetPart = (WorksheetPart)spreadsheetDocument.WorkbookPart.GetPartById(sheet.Id);
Worksheet worksheet = worksheetPart.Worksheet;
uint i = 0;
var rows = worksheet.GetFirstChild<SheetData>().Elements<Row>();
int lenght1 = rows.Count();
int lenght2 = rows.First().Elements<Cell>().Count();
object[,] res = new object[lenght1, lenght2];

foreach (var row in rows)
{
foreach (var cell in row.Elements<Cell>())
{
if (cell.CellValue == null) continue;
int ind;
if(!int.TryParse(cell.CellValue.Text, out ind)) continue;
SharedStringItem strItem = GetSharedStringItemById(spreadsheetDocument.WorkbookPart, ind);
int j = cell.CellReference.Value[0] - 'A';
res[i, j] = strItem.Text.Text;
}
i++;
}
return res;
//return GetRow(spreadsheetDocument.WorkbookPart, worksheet);
}
}
...
Рейтинг: 0 / 0
Чтение .xlsx при помощи Open Xml SDK
    #37395266
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...
Рейтинг: 0 / 0
Чтение .xlsx при помощи Open Xml SDK
    #37395353
tiv83
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Спасибо! Интересно что в списке row.Elements<Cell>() только значимые элементы, т. е количество меньше чем надо, а в row.Elements<Cell>().ToArray() все элементы включая пустые.
...
Рейтинг: 0 / 0
Чтение .xlsx при помощи Open Xml SDK
    #37395821
tiv83
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
...
Рейтинг: 0 / 0
4 сообщений из 4, страница 1 из 1
Форумы / ADO.NET, LINQ, Entity Framework, NHibernate, DAL, ORM [игнор отключен] [закрыт для гостей] / Чтение .xlsx при помощи Open Xml SDK
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]