当前位置: 首页 > 知识库问答 >
问题:

如何从Excel中读取并替换中的某些值。txt文件

轩辕弘雅
2023-03-14

我是c语言的新手。我只有一些基本的知识,比如复制和粘贴。这意味着我的c语言不好。对不起我的英语。现在是我的问题。我有一个记事本。txt文件。它包含一些参数和我从其他程序获得的值。

对此的描述。txt文件:[单位可选]name\u of\u参数=值

便条簿。txt文件:

[mm]p0=45
[mm]param1=36.42199010819
[mm]param2=56
param9=56
[degrees]p3=453
[degrees]p4=134
[mm]p5=56
p6=1
p7=1

没有机会获得此输出的其他样式(.txt文件)。

除此之外,我还有一个带有随机行和列的excel工作表。第一行是\u参数的名称,如-

例如,我想用excel工作表中的param2值替换param2值(在我的.txt文件中)。我想对循环中两个文件中存在的所有name\u of\u参数执行此操作,因为我的excel工作表有多行。结论:我想操作记事本。txt文件。

截图

我的c代码:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Runtime.InteropServices;
using Excel = Microsoft.Office.Interop.Excel;

namespace ConsoleApplication3
{
    class Program
    {
        static void Main(string[] args)
        {

            string[] lines = System.IO.File.ReadAllLines(@"C:\Users\Z003DUKJ\Desktop\notepad.txt");
            int stop = 1;



        }
    }
}

如果有人对我有一些建议,谢谢你。

共有3个答案

雷国兴
2023-03-14

我能想到的最好的办法是:

  1. 像在代码中一样阅读所有行
  2. 将包含paramNum的行解析为对象集,并将其放入字典

如何读取xls文件:

var excelApp = new Excel.Application();
var xlWorkBook = excelApp.Workbooks.Open(fileName);
var ws = (_Worksheet)wb.Worksheets[1];

搜索单元格:

Excel.Range currentFind = null; 
Excel.Range firstFind = null; 

Excel.Range rangeOfParams = Application.get_Range("A1", "E5");
// You should specify all these parameters every time you call this method,
// since they can be overridden in the user interface. 
currentFind = rangeOfParams .Find("param1", missing,
    Excel.XlFindLookIn.xlValues, Excel.XlLookAt.xlPart, 
    Excel.XlSearchOrder.xlByRows, Excel.XlSearchDirection.xlNext, false,
    missing, missing); 

while(currentFind != null) 
{ 
    // Keep track of the first range you find. 
    if (firstFind == null)
    {
        firstFind = currentFind; 
    }

    // If you didn't move to a new range, you are done.
    else if (currentFind.get_Address(Excel.XlReferenceStyle.xlA1)
          == firstFind.get_Address(Excel.XlReferenceStyle.xlA1))
    {
        break;
    }

    currentFind.Font.Color = System.Drawing.ColorTranslator.ToOle(System.Drawing.Color.Red);
    currentFind.Font.Bold = true; 

    currentFind = rangeOfParams.FindNext(currentFind); 
}

单元格替换值:

ws.Cells[2, "A"] = SomeValue;
ws.Cells[2, "E"] = OtherValue;

MSDN Microsoft Excel解决方案

颜阳炎
2023-03-14

在您拥有的excel版本之后,此nuget包将为您完成这项工作

请参见链接

你有一些有趣的样本

秦景同
2023-03-14

请参见链接。

如何读取单个Excel单元格值

请注意,您的代码指向了正确的工作表。您将从代码中访问每个单元格。可以操纵值

 类似资料:
  • 我正在编写一个程序,使用一个文件中的30个分数,计算出最低、最高和平均分数。我很难理解如何编写循环语句来读取每个等级并更新最低/最高等级,并在读取下一个等级之前将该值添加到总和。 谢谢想出来了:

  • 问题内容: 在表的一个特定字段中将进行文本搜索和替换的是哪种MySQL查询? 即搜索并替换为具有值的字段的记录变为。 问题答案: 更改并匹配您的表名和相关字段: 替换(字符串函数) INSTR(字符串函数)

  • 我的项目中有这样一段代码: 没有错误,应用程序运行正常,但是变量中从来没有任何文本,我确信txt文件中有文本! 我已经尝试过不同的方法来读取文本文件(使用BufferedReader、Scanner、FileInputStream和FileReader),但都不起作用。 另外,我几乎可以肯定问题不在变量中,因为我尝试通过代码(使用运行时)打开文件,它正常打开了正确的文件。 好的,我尝试添加,但是仍

  • 问题内容: 我想在我的Xcode Swift Iphone项目中放一个.txt文件。首先,我只是将其从我的桌面拖放到项目中的Supporting Files文件夹中。是否没有像Android“资产”上的文件夹,所以我可以将文件放在我想要的任何位置? 在我的示例中,该文件称为README.txt,其中包含许多行和段落。 很简单,现在我想将README.txt文件的内容打印到视图中。 如果我的文件位于

  • 问题内容: 我有一个如下的Excel文件, 我想将上述详细信息保存一些,以便我可以访问 我尝试过这样的事情,只能存储 上面的代码显示以下内容: 请帮助我做到这一点。 问题答案: 您应该使用面向对象的方法来创建实体。创建一个代表您的excel数据行的类,假设它称为Records,然后将该类的对象放在以用户名作为键的Hashmap中。这是示例类: 定义一个集合以将记录存储为 读取excel文件,为每行

  • 提取和修改位 从压缩的final_value中的某个位置选取n个位,并写入任意位置,而不修改uint16_t test_bit=0x3048的原始内容。预期输出=0x5048 例如:从final_val选取010(位置17的3位),然后写入任意位置(位置11) 0x3048=0111 0000 0100 1000 0x5048=0101 0000 0100 1000 示例 A: 粗体是提取的,我们