将数据从Excel文件导出为不同的格式

时间:2016-06-24 07:56:34

标签: xml vb.net

我有一个要求,我需要将数据从excel文件导出到指定的格式(xml,文本甚至excel)。问题是客户端可以映射任何列,然后想要将其导出为特定格式来制作一些报告。如果他在表格中勾选单元格E1和D1,他需要能够在E1和D1的标题下导出E1和D1的所有值。请建议。 谢谢 约杰什

1 个答案:

答案 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文件中的数据是什么,因此我无法写出格式文件。但我相信我在这里所提供的基本上足以让你完成你的工作。