问题描述
我正在使用 SODS (https://github.com/miachm/SODS) 创建一个 ODS 电子表格。这是一个单页的非格式化文件。 LibreOffice 对此很满意,Google 电子表格也很满意。另一方面,Excel 声称它包含错误,当它试图修复它时,它会损坏数据。
如何让 Excel 对这个文件感到满意*?
代码(这是一个 Play/Scala 程序,accidentsDatasetCols
是生成单元格内容的列提取器):
val sheet = new Sheet("accidents")
// add title row
sheet.appendColumns(accidentsDatasetCols.size)
sheet.appendRow()
val titleRow = sheet.getRange(0,1,accidentsDatasetCols.size)
accidentsDatasetCols.zipwithIndex.foreach( c => {
titleRow.getCell(0,c._2).setValue(c._1.name)
} )
// add data rows
for {
workAccidents <- accidents.listAllAccidents()
} yield {
for ( acc <- workAccidents ) {
sheet.appendRow()
val row = sheet.getRange(sheet.getLastRow,accidentsDatasetCols.size)
accidentsDatasetCols.zipwithIndex.foreach( c => row.getCell(0,c._2).setValue(c._1(acc)) )
}
val sprd = new SpreadSheet()
sprd.addSheet(sheet,0)
var bytes:Array[Byte]=null
Using( new ByteArrayOutputStream() ){ bas =>
sprd.save(bas)
bas.flush()
bytes = bas.toByteArray
}
Ok(bytes).as("application/vnd.oasis.opendocument.spreadsheet")
.withHeaders("Content-disposition"->"attachment; filename=\"work-accidents.ods\"")
}
谢谢!
- 或者,我怎样才能让 MS 已经修复 Excel?!
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)