XLS를 JSON으로 변환하는 응용 프로그램이 있는지 아는 사람이 있습니까?
또한 CSV로 변환기를 설정합니다. 아무것도 없으면 스스로 작성해야 할 수도 있기 때문입니다.
XLS를 JSON으로 변환하는 응용 프로그램이 있는지 아는 사람이 있습니까?
또한 CSV로 변환기를 설정합니다. 아무것도 없으면 스스로 작성해야 할 수도 있기 때문입니다.
답변:
이것은 나를 위해 완벽하게 작동했으며 파일 업로드가 필요하지 않습니다.
Powershell 3.0 (Windows 8과 함께 제공되며 Windows 7 및 Windows Server 2008 에서는 사용 가능 하지만 Windows Vista에서는 제공되지 않음) 이후 내장 convertto-json 커맨드 렛을 사용할 수 있습니다.
PS E:> $topicsjson = import-csv .\itinerary-all.csv | ConvertTo-Json
PS E:\> $topicsjson.Length
11909
PS E:\> $topicsjson.getType()
IsPublic IsSerial Name BaseType
-------- -------- ---- --------
True True Object[] System.Array
기존 솔루션을 찾을 수 없으면 Java로 기본 솔루션을 쉽게 구축 할 수 있습니다. 방금 고객을 위해 하나를 작성했으며 연구 도구를 포함하여 불과 몇 시간이 걸렸습니다.
Apache POI는 Excel 바이너리를 읽습니다. http://poi.apache.org/
JSONObject는 JSON을 빌드합니다
그 후 Excel 데이터의 행을 반복하고 JSON 구조를 작성하면됩니다. 기본 사용법에 대한 의사 코드는 다음과 같습니다.
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();
이것은 나를 위해 작동하며 클라이언트 측을 실행합니다 : http://www.convertcsv.com/csv-to-json.htm
기존 솔루션 중 어느 것도 작동하지 않았으므로 작업을 수행하는 스크립트를 신속하게 해킹했습니다. 또한 빈 문자열을 null로 변환하고 JSON의 헤더 행을 분리합니다. CSV 방언과 문자 세트에 따라 조정해야 할 수도 있습니다.
#!/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))
하드 코딩 된 변환기 대신 Jackson (JSON 프로세서)에 대한 CSV 지원은 https://github.com/FasterXML/jackson-dataformat-csv 입니다. 코어 잭슨은 JSON을 POJO, Maps JsonNode
등 거의 모든 것으로 읽을 수 있습니다 . CSV 지원은 CSV와 동일하게 수행 할 수 있습니다. 두 가지를 결합하면 여러 형식간에 강력하지만 간단한 변환기입니다 (XML의 백엔드, YAML 및 기타 추가 기능이 있음).
이것이 도움이되는지 확인하십시오 : CSV로 돌아 가기-CSV 텍스트를 객체로 변환; JSON을 통해
솔루션을 제공하기위한 C # 코드가 포함 된 2008 년 11 월에 게시 된 블로그 게시물입니다.
블로그 게시물의 소개에서 :
Json은 Xml을 읽고 쓰는 것이 더 쉽습니다. CSV (쉼표로 구분 된 값)가 Json보다 읽고 쓰기가 더 쉽습니다. CSV에는 Excel과 같은 도구를 사용하여 쉽게 작업하고 만들 수 있습니다. 따라서 다음 앱에 대한 구성 또는 데이터 파일을 만들려면 CSV를 JSON으로 POCO 객체로 변환하는 코드가 있습니다.