名称 | 说明 |
FromCSV | 将SVG文件读取到DataTable(第一行作为表头) |
FromCSV32 | 将CSV文件读取到一个DataTable对象中。此方法只有在32位操作系统中可以使用。 |
ToCSV | 将DataTable对象里面的数据写到一个指定的CSV文件里面。 |
这几个扩展方法主要是为了实现将DataTableHelp转换成Excel或者从Excel加载DataTableHelp数据。下面我们就直接以示例来说明如何使用。
语法:
ToCSV(svgFilePath,includeHeaders,listOfOutColName)
参数说明
名称 | 说明 |
svgFilePath | 必填项,字符串类型,保存的CSV文件路径。 |
includeHeaders | 必填项,逻辑类型,SVG表格中是否包含表头。 |
listOfOutColName | 可选项,整数集合类型,要导出的列的序列号集合。如果想导出指定的部分列,可以将列名做成一个集合然后传递。默认为空,则会导出所有字段。 |
语法:
FromCSV(svgFilePath,includeHeader)
FromCSV32(svgFilePath,includeHeader)
名称 | 说明 |
svgFilePath | 必填项,字符串类型,保存的CSV文件路径。 |
includeHeader | 必填项,逻辑类型,CSV数据是否包含表标题。如果设置为True,则认为第一行为标题行,如果设置为False,则认为CSV表中所有数据都为数据,会从第一行开始读取数据。默认为True。 |
Vb.Net |
Dim db As Database=Proj.SysDataFactory("UserDB") Dim strSQL As String="select * from 订单信息 Where 产品='产品01' and 客户='客户02'" Dim dt As DataTableHelp=db.ExecuteDataTableHelp(strSQL) Proj.MsgDebug.Add("从数据库获取的数据共{0}条。",dt.DataRows.Count) '用通用的方式直接导出到csv dt.ToCSV("D:\outputCSV.csv",True,Nothing) Dim lstCol As New List(Of String) lstCol.Add("产品") lstCol.Add("客户") lstCol.Add("业务员") lstCol.Add("单价") lstCol.Add("数量") lstCol.Add("金额") lstCol.Add("日期") '用通用的方式导出指定的部分列到csv dt.ToCSV("D:\outputCSVSomeCols.csv",True,lstCol) Dim dtNew As New DataTableHelp dtNew.FromCSV("D:\outputCSV.csv",True) Proj.MsgDebug.Add("从csv获取的数据共{0}条。",dtNew.DataRows.Count) '以下的方法仅适合32位操作系统 If Environment.Is64BitProcess=False Then '防止之前的数据对结果产生影响,先清空之间的数据 dtNew.DataRows.Clear() dtNew.FromCSV32("D:\outputCSVSomeCols.csv",True) Proj.MsgDebug.Add("从csv获取的数据共{0}条。",dtNew.DataRows.Count) End If |
C# |
Database db = Proj.SysDataFactory["UserDB"]; string strSQL = "select * from 订单信息 Where 产品='产品01' and 客户='客户02'"; DataTableHelp dt = db.ExecuteDataTableHelp(strSQL); Proj.MsgDebug.Add("从数据库获取的数据共{0}条。", dt.DataRows.Count); // 用通用的方式直接导出到csv dt.ToCSV(@"D:\outputCSV.csv", true, null); List<string> lstCol = new List<string>(); lstCol.Add("产品"); lstCol.Add("客户"); lstCol.Add("业务员"); lstCol.Add("单价"); lstCol.Add("数量"); lstCol.Add("金额"); lstCol.Add("日期"); // 用通用的方式导出指定的部分列到csv dt.ToCSV(@"D:\outputCSVSomeCols.csv", true, lstCol); DataTableHelp dtNew = new DataTableHelp(); dtNew.FromCSV(@"D:\outputCSV.csv", true); Proj.MsgDebug.Add("从csv获取的数据共{0}条。", dtNew.DataRows.Count); // 以下的方法仅适合32位操作系统 if (Environment.Is64BitProcess == false) { // 防止之前的数据对结果产生影响,先清空之间的数据 dtNew.DataRows.Clear(); dtNew.FromCSV32(@"D:\outputCSVSomeCols.csv", true); Proj.MsgDebug.Add("从csv获取的数据共{0}条。", dtNew.DataRows.Count); } |