Гость
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Сохранить лист Excel xlsx как JSON через VBA / 2 сообщений из 2, страница 1 из 1
21.07.2016, 12:11
    #39277694
Alex Pancho
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Сохранить лист Excel xlsx как JSON через VBA
Есть лист Excel, который надо сохранить как JSON.
Из нагугленого
Библиотека для импорта JSON в Excel
Сохранение xlsx в xml а затем конверт в JSON (недостаток: юзается онлайн конвертор)
Собственно вопрос: как Ексельку сохранить в ясон через ВБА?
Кто подскажет готовый код - весьма вами буду благодарен.

Нашел еще такой код на просторах Сети, не проверял:
Код: vbnet
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
If you can't find an existing solution it's pretty easy to build a basic one in Java. I just wrote one for a client and it took only a couple hours including researching tools.

Apache POI will read the Excel binary. http://poi.apache.org/

JSONObject will build the JSON

After that it's just a matter of iterating through the rows in the Excel data and building a JSON structure. Here's some pseudo code for the basic usage.

FileInputStream inp = new FileInputStream( file );
Workbook workbook = WorkbookFactory.create( inp );

// Get the first Sheet.
Sheet sheet = workbook.getSheetAt( 0 );

    // Start constructing JSON.
    JSONObject json = new JSONObject();

    // Iterate through the rows.
    JSONArray rows = new JSONArray();
    for ( Iterator<Row> rowsIT = sheet.rowIterator(); rowsIT.hasNext(); )
    {
        Row row = rowsIT.next();
        JSONObject jRow = new JSONObject();

        // Iterate through the cells.
        JSONArray cells = new JSONArray();
        for ( Iterator<Cell> cellsIT = row.cellIterator(); cellsIT.hasNext(); )
        {
            Cell cell = cellsIT.next();
            cells.put( cell.getStringCellValue() );
        }
        jRow.put( "cell", cells );
        rows.put( jRow );
    }

    // Create the JSON.
    json.put( "rows", rows );

// Get the JSON text.
return json.toString();



и еще такое на Питонии:
Код: python
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
#!/usr/bin/python
import csv, json
csvreader = csv.reader(open('data.csv', 'rb'), delimiter='\t', quotechar='"')
data = []
for row in csvreader:
    r = []
    for field in row:
        if field == '': field = None
        else: field = unicode(field, 'ISO-8859-1')
        r.append(field)
    data.append(r)
jsonStruct = {
    'header': data[0],
    'data': data[1:]
}
open('data.json', 'wb').write(json.dumps(jsonStruct))
...
Рейтинг: 0 / 0
21.07.2016, 21:03
    #39278230
Alex Pancho
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Сохранить лист Excel xlsx как JSON через VBA
О, тут уже было такое, нашлась полезная ссылка
7171676
...
Рейтинг: 0 / 0
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Сохранить лист Excel xlsx как JSON через VBA / 2 сообщений из 2, страница 1 из 1
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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