ไม่มีใครรู้ว่ามีแอพพลิเคชั่นที่จะให้ฉันแปลง XLS เป็น JSON ได้หรือไม่?
ฉันจะชำระให้กับผู้แปลงจาก CSV เพราะนั่นคือสิ่งที่ฉันอาจจะต้องเขียนด้วยตัวเองหากไม่มีสิ่งใดอยู่รอบตัว
ไม่มีใครรู้ว่ามีแอพพลิเคชั่นที่จะให้ฉันแปลง XLS เป็น JSON ได้หรือไม่?
ฉันจะชำระให้กับผู้แปลงจาก CSV เพราะนั่นคือสิ่งที่ฉันอาจจะต้องเขียนด้วยตัวเองหากไม่มีสิ่งใดอยู่รอบตัว
คำตอบ:
สิ่งนี้ทำงานได้อย่างสมบูรณ์แบบสำหรับฉันและไม่ต้องการอัปโหลดไฟล์:
คุณสามารถลองใช้เครื่องมือนี้ที่ฉันทำ:
มันแปลงเป็น JSON, XML และอื่น ๆ
มันคือฝั่งไคลเอ็นต์ทั้งหมดดังนั้นข้อมูลของคุณจึงไม่ออกจากคอมพิวเตอร์ของคุณ
เนื่องจาก Powershell 3.0 (มาพร้อมกับ Windows 8 พร้อมใช้งานสำหรับ Windows 7 และ windows Server 2008แต่ไม่ใช่ Windows Vista) คุณสามารถใช้ commandlet 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
ฉันเพิ่งพบสิ่งนี้:
http://tamlyn.org/tools/csv2json/
(หมายเหตุ: คุณต้องมีไฟล์ csv ของคุณผ่านทางที่อยู่เว็บ)
ไม่มีวิธีแก้ปัญหาใดที่ใช้งานได้ดังนั้นฉันจึงแฮคสคริปต์เข้าด้วยกันอย่างรวดเร็วเพื่อทำงาน นอกจากนี้ยังแปลงสตริงว่างเป็นโมฆะและและแยกแถวส่วนหัวสำหรับ 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))
แทนที่จะแปลงยากรหัสวิธีการเกี่ยวกับการสนับสนุน CSV สำหรับแจ็คสัน (หน่วยประมวลผล JSON): https://github.com/FasterXML/jackson-dataformat-csv ดังนั้นแกนแจ็คสันสามารถอ่าน JSON ในรูปแบบ POJOs แผนที่JsonNode
เกือบทุกอย่าง และการสนับสนุน CSV สามารถทำเช่นเดียวกันกับ CSV รวมทั้งสองอย่างเข้าด้วยกันและมันเป็นเครื่องมือที่มีประสิทธิภาพมาก แต่ใช้งานง่ายระหว่างหลาย ๆ รูปแบบ (มีแบ็กเอนด์สำหรับ XML, YAML แล้วและถูกเพิ่มเข้ามามากขึ้น)
ดูว่าช่วยได้หรือไม่: กลับไปเป็น CSV - แปลงข้อความ CSV เป็นวัตถุ ผ่าน JSON
นี่คือบล็อกโพสต์ที่เผยแพร่ในเดือนพฤศจิกายน 2008 ซึ่งรวมถึงรหัส C # เพื่อให้การแก้ปัญหา
จากคำแนะนำในบล็อกโพสต์:
ในฐานะที่เป็น Json ง่ายต่อการอ่านและเขียนแล้ว Xml มันตามมาว่า CSV (ค่าที่คั่นด้วยเครื่องหมายจุลภาค) นั้นง่ายต่อการอ่านและเขียนตามด้วย Json CSV ยังมีเครื่องมือต่าง ๆ เช่น Excel และอื่น ๆ ที่ทำให้ง่ายต่อการทำงานและสร้าง ดังนั้นหากคุณต้องการสร้างไฟล์กำหนดค่าหรือข้อมูลสำหรับแอปถัดไปของคุณนี่คือรหัสบางส่วนในการแปลง CSV เป็น JSON เป็นวัตถุ POCO