Загрузка документа в формате CSV
Книга или Лист (Workbook vs. Worksheet)
Как книга (workbook), так и Лист (worksheet) могут загружать данные из файлов формата CSV. Книга загружает содержимое файла формата CSV и удаляет все существующие листы; Лист загружает данные формата CSV лишь внутри себя.
Загрузка CSV в книгу
Для загрузки документа формата CSV в книгу следует использовать метод Load, указав формат файла CSV:
grid.Load("C:\\mypath\\data.csv", IO.FileFormat.CSV);
Загрузка CSV в лист
Для загрузки данных формата CSV в лист, необходимо использовать следующие методы:
// загрузка из потока sheet.LoadCSV(Stream s); // загрузка из файла sheet.LoadCSV(string path); // загрузка из потока с преобразованием строк с учётом указанной кодировки sheet.LoadCSV(Stream s, Encoding encoding); // загрузка из файла с преобразованием строк с учётом указанной кодировки sheet.LoadCSV(string path, Encoding encoding); // загрузка из потока с указанием параметров autoSpread, bufferLines и кодировки sheet.LoadCSV(Stream s, bool autoSpread, int bufferLines, Encoding encoding);
Пример: загружаем файл с использованием японской кодировки “shift-jis”
sheet.LoadCSV(@"G:\ReoGrid\Samples\13TOKYO.CSV", Encoding.GetEncoding("shift-jis"));
Пример после загрузки:
Auto Spread
По умолчанию ReoGrid будет добавлять строки и столбцы автоматически, расширяя таблицу по мере загрузки данных. Для отключения подобного поведения установите значение аргумента autoSpread
в false.
Экспорт в формат CSV
Для сохранения содержимого листа в формате CSV используем следующие методы:
var sheet = grid.CurrentWorksheet; // экспорт в файл sheet.ExportAsCSV(string path); // экспорт в поток sheet.ExportAsCSV(Stream s);
Экспорт только указанного диапазона
Возможен экспорт указанного диапазона ячеек листа. Для этого используется перегруженный метод ExportAsCSV с указанием фрагмента таблицы или строки.
// экспорт второй строки. Это может пригодиться, если // экспортируемый заголовок находится не в первой строке sheet.ExportAsCSV("C:\\mypath\\file.csv", 1); // экспорт диапазона sheet.ExportAsCSV("C:\\mypath\\file.csv", "A1:H30");
Экспорт с указанием кодировки
Если нужно явно указать кодировку текста, используется третий аргумент методов:
sheet.ExportAsCSV("C:\\mypath\\file.csv", "A1:H30", Encoding.GetEncoding("shift-jis"));