我有一个要求,我需要将数据从excel文件导出到指定的格式(xml,文本甚至excel)。问题是客户端可以映射任何列,然后想要将其导出为特定格式来制作一些报告。如果他在表格中勾选单元格E1和D1,他需要能够在E1和D1的标题下导出E1和D1的所有值。请建议。 谢谢 约杰什
答案 0 :(得分:1)
您可以使用变量来处理要从中获取信息的单元格。 假设您将所有“单元格”复选框放在名为pnlCells的面板中。 每个复选框都带有相应的Cell名称 - 或Tag。我更喜欢将单元格名称放入复选框的标签中。 这是一种简单的方法:
如果您不知道如何在vb.net中使用excel ....这里有一些基本代码
Dim oExcel as Microsoft.Office.Interop.Excel.Application
Dim oBook As Microsoft.Office.Interop.Excel.Workbook
Dim oSheet As Microsoft.Office.Interop.Excel.Worksheet
oExcel = CType(CreateObject("Excel.Application"), Microsoft.Office.Interop.Excel.Application)
oBook = oExcel.Workbooks.Open(ExcelFilePath)
oSheet = CType(oBook.Worksheets(SheetName), Microsoft.Office.Interop.Excel.Worksheet)
'这将获取您当前正在处理的Excel工作表,并将其存储在名为oSheet的变量中。
Dim pos as String = ""
For each CellCheck as Control in pnlCells.Controls
if CellCheck.GetType() is GetType(CheckBox) Then
Dim Check as CheckBox = CType(CellCheck, CheckBox) 'Get the checkbox
if Check.Checked = true then
pos = Check.Tag 'This will get you the cells you need
end if
txtData.text = oSheet.Range(pos).Value.ToString 'Extract data....
HandleData(txtData.text) 'Handling data goes here
end if
Next
这段代码将遍历面板中的所有复选框,并且每个选中的复选框都会从Excel工作表中获取相应的单元格内容。
使用xmlWriter将数据写入xml文件的指南: http://www.dotnetperls.com/xmlwriter-vbnet
我无法提供任何具体的答案,因为我不知道您的Excel文件中的数据是什么,因此我无法写出格式文件。但我相信我在这里所提供的基本上足以让你完成你的工作。