用Visual C#实现文件大批量处理
来源:网络整理 责任编辑:栏目编辑 发表时间:2013-07-01 21:50 点击:次
在科研、企业的数据处理中,有时会涉及大量的文件操作。在大量数据处理的时侯,有时需要进行多对一,或一对多的文件操作,即多个数据文件与一个数据文件进行信息交互,Microsoft的.NET开发利器C#提供了前所未有的高开发效率,在文件操作方面也有所体现。笔者基于.NET平台,以C#开发工具,实现了如下功能:
1、多个文本文件合并成一个文件;
2、一个电子表格文件分成多个文件。
一、编程任务描述 :
1、从多个文件中读取数据生成一个文本文件
笔者是处理测井资料的时侯碰到这种编程需求,现有测井资料若干,每口井一个文件,为进一步处理现需要,将这些数据读到一新文件中去,在实际处理,当然包括一定的计算与筛选及格式化。
多个源文件在源文件路径下,最终生成的目标文件存在在目标文件路径下。
例子数据在sourcefile 文件夹下:1.bln,2.bln,3.bln,4,bln,5,bln,6.bln共六个文件,它们合并后生成的total.txt文件在aimfile子文件夹下。
2、从一个文件中读数据,生成多个文本文件
例子源文件是:xcsj.xls存放在aimfile文件夹下,其数据内容是:
其中多口井的数据在一个表格中,实际工作中需要将其中每口井的资料选出来生成一个独立的文件,文件后缀为.xc,存在目标文件路径下,生成文件的格式为:
生成的的目标文件13-10.xc等也存放在aimfile文件夹下。
二、程序界面
生成一个窗体,窗体上主要添加如下控件:
1、三个按扭:一是合并文件; 一是文件拆分; 一是退出;
2、一个列表框 用来显示程序执行情况
3、两个文本框,分别用来输入源文件路径与目标文件路径;
4、一个进度条,用来指示,程序的执行进度;
程序界面如下:
三、源程序主要代码:
1、名字空间
2、文件合并按钮响应方法
1、多个文本文件合并成一个文件;
2、一个电子表格文件分成多个文件。
一、编程任务描述 :
1、从多个文件中读取数据生成一个文本文件
笔者是处理测井资料的时侯碰到这种编程需求,现有测井资料若干,每口井一个文件,为进一步处理现需要,将这些数据读到一新文件中去,在实际处理,当然包括一定的计算与筛选及格式化。
多个源文件在源文件路径下,最终生成的目标文件存在在目标文件路径下。
例子数据在sourcefile 文件夹下:1.bln,2.bln,3.bln,4,bln,5,bln,6.bln共六个文件,它们合并后生成的total.txt文件在aimfile子文件夹下。
2、从一个文件中读数据,生成多个文本文件
例子源文件是:xcsj.xls存放在aimfile文件夹下,其数据内容是:
井名 | 层位 | 细分小层号 | 层顶深度 | 层厚 |
13-10 | S3中4 | 1 | 3263.5 | 1.5 |
13-10 | S3中5 | 2 | 3311.6 | 1.6 |
… … … |
其中多口井的数据在一个表格中,实际工作中需要将其中每口井的资料选出来生成一个独立的文件,文件后缀为.xc,存在目标文件路径下,生成文件的格式为:
井名 | 层位 | 细分小层号 | 层顶深度 | 层厚 |
13-10 | S3中4 | 1 | 3263.5 | 1.5 |
13-10 | S3中5 | 2 | 3311.6 | 1.6 |
… … … |
生成的的目标文件13-10.xc等也存放在aimfile文件夹下。
二、程序界面
生成一个窗体,窗体上主要添加如下控件:
1、三个按扭:一是合并文件; 一是文件拆分; 一是退出;
2、一个列表框 用来显示程序执行情况
3、两个文本框,分别用来输入源文件路径与目标文件路径;
4、一个进度条,用来指示,程序的执行进度;
程序界面如下:
三、源程序主要代码:
1、名字空间
using System;using System.Drawing; using System.Collections; using System.ComponentModel; using System.Windows.Forms; using System.Data; using System.IO; //使用StreamWriter与StreamReader必须加的Namespaceusing System.Data.OleDb; using System.Data.SqlClient; //读电子表格文件必须加的Namespace |
2、文件合并按钮响应方法
string winDir1; //源文件路径 string winDir2; //目标文件路径 string temp1; int ii; winDir1=textBox1.Text.Trim(); winDir2=textBox2.Text.Trim()+"\total.txt"; //获取winDir1路径下所有文件列表 string[] dirs = Directory.GetFiles(winDir1); //建立或打开目标文件 StreamWriter writer = new StreamWriter(winDir2); writer.WriteLine("这是汇总文件头"); writer.WriteLine("这是汇总文件第二行"); ii=0; foreach(string dir in dirs) { StreamReader reader=new StreamReader(dir); try 相关新闻>>最新推荐更多>>>
|