Vb.net 在GUI中读取Excel文件并写回文件

Vb.net 在GUI中读取Excel文件并写回文件,vb.net,excel,visual-studio,user-interface,Vb.net,Excel,Visual Studio,User Interface,小结: 在GUI中打开一行Excel文件及其记录,分析并 写回一个文件 我正在做一个在Excel文件中有很多记录的项目。这些数据有我必须分析的网址,并写下适当的评论 由于有成百上千的记录,复制和粘贴可能会非常繁忙 因此,我正在考虑将这一过程自动化 我想做的是有一个GUI,它可以在GUI中一次填充一条记录。在IE中打开URL。它会有一些额外的字段下拉列表,输入框除了它的原始列,所以我可以记录分析数据 根据下拉选项,它将创建一个文档或附加(如果该记录已经存在)。单击“保存”后,它将填充下一条记录 最

小结:

在GUI中打开一行Excel文件及其记录,分析并 写回一个文件

我正在做一个在Excel文件中有很多记录的项目。这些数据有我必须分析的网址,并写下适当的评论

由于有成百上千的记录,复制和粘贴可能会非常繁忙

因此,我正在考虑将这一过程自动化

我想做的是有一个GUI,它可以在GUI中一次填充一条记录。在IE中打开URL。它会有一些额外的字段下拉列表,输入框除了它的原始列,所以我可以记录分析数据

根据下拉选项,它将创建一个文档或附加(如果该记录已经存在)。单击“保存”后,它将填充下一条记录

最好的方式是什么?我考虑使用VisualBasic是因为它的GUI,但每个人都知道VB以及我为什么应该避免使用它

我也在考虑web应用程序,所以它不会依赖于操作系统,但我不确定Excel文件如何与PHP和其他web脚本语言一起工作


如有任何意见,将不胜感激。如果您知道任何可以提供一些见解的教程,也会有所帮助。

我会在html页面上使用一些javascript来实现这一点。这里是一个总体战略的概要,有几个例子,没有一个经过测试。也许有更好的方法来做这些事情

步骤1-将电子表格转换为CSV

文件->另存为->另存为类型->CSV

步骤2-作为URL查看器的HTML页面

例如:

<html>
<head>
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.4/jquery.min.js"></script>
    <script src="myAutomationScript.js"></script>
</head>
<body>
    <table id="csvRecord">
        <tr id="header"></tr>
        <tr id="data"></tr>         
    </table>
    <input id="nextRecord" type=submit />
    <iframe id="viewer"></iframe>
</body>
</html>
步骤4-在表单中显示记录

步骤5-保存记录并继续下一步


为什么要避免VB?您可能想考虑将Excel文件保存为CSV逗号分隔的值文件;这将更容易在自动化解决方案中解析。
var csv = "",//populate this from file, or paste in data or whatever
records = $.csv.toObjects(csv),
keys = Object.keys(records[0]),
currentRecord = 0;
function displayHeaders (keys) {
    //create a header cell for each key
    //add a header (or headers) for your additional fields
}
function displayRecord (record) {
    //populate a td cell for each piece of data
    //add input element(s) for your additional review fields
    //set the source of the iframe to the url
    $('#viewer').setAttr('src',record.url);
}
//this would be a handler for the click event of nextRecord
function moveOn() {
    //read in data from the csvRecord table
    //add the record to another collection, or read in the output file and add a line
    //save the collection, or string or whatever to a local file using the html5 local file api
    //++ currentRecord, and display that
    currentRecord = currentRecord + 1;
    displayRecord(records[currentRecord]);
}