# 查询结果集导出csv、tsv、xml、json、xlsx、yaml、html xorm查询结果集支持导出csv、tsv、xml、json、xlsx、yaml、html七种文件格式 以导出xlsx文件格式为例,代码如下 ~~~ err := engine.Sql("select * from category").Query().SaveAsXLSX("1.xlsx", []string{"id", "name", "counts", "orders", "createtime", "pid", "lastupdatetime", "status"}, 0777) if err != nil { t.Fatal(err) } ~~~ * SaveAsCSV(filename string, headers []string, perm os.FileMode) 导出CSV文件,filename为完整路径,headers为每列的列名,需要结果集中有该字段,此处[]string是为了确定列的顺序,perm为文件权限位 * SaveAsTSV(filename string, headers []string, perm os.FileMode) 导出TSV文件,filename为完整路径,headers为每列的列名,需要结果集中有该字段,此处[]string是为了确定列的顺序,perm为文件权限位 * SaveAsHTML(filename string, headers []string, perm os.FileMode) 导出HTML文件,filename为完整路径,headers为每列的列名,需要结果集中有该字段,此处[]string是为了确定列的顺序,perm为文件权限位 * SaveAsXML(filename string, headers []string, perm os.FileMode) 导出XML文件,filename为完整路径,headers为每列的列名,需要结果集中有该字段,此处[]string是为了确定列的顺序,perm为文件权限位 * SaveAsXMLWithTagNamePrefixIndent(tagName string, prifix string, indent string, filename string, headers []string, perm os.FileMode) 导出指定格式化的XML文件,filename为完整路径,headers为每列的列名,需要结果集中有该字段,此处[]string是为了确定列的顺序,perm为文件权限位 * SaveAsYAML(filename string, headers []string, perm os.FileMode) 导出YAML文件,filename为完整路径,headers为每列的列名,需要结果集中有该字段,此处[]string是为了确定列的顺序,perm为文件权限位 * SaveAsJSON(filename string, headers []string, perm os.FileMode) 导出JSON文件,filename为完整路径,headers为每列的列名,需要结果集中有该字段,此处[]string是为了确定列的顺序,perm为文件权限位 * SaveAsXLSX(filename string, headers []string, perm os.FileMode) 导出XLSX文件,filename为完整路径,headers为每列的列名,需要结果集中有该字段,此处[]string是为了确定列的顺序,perm为文件权限位 ~~~ 注意:当某列值有可能为null的时候,需要使用各数据库类似IFNULL函数查询取值。由于查询出来的结果集是[]map[string]interface类型,NULL字段将不会在map中保有key。 ~~~