读取txt文件赋值到DataGridView中

 

先查看txt是每条信息之间是通过什么分割,我是通过换行符(\n)分割的,

然后再看每一条信息中字段是通过什么分割,我的字段是通过 tab键(\t)分割。

 

第一步 先获取到txt文件的路径:

            //获取绝对路径var path = "C:/Users/Ljk/Desktop/asdasd/1238191.txt";var con = System.IO.File.ReadAllText(path, Encoding.Default);//获取相对路径var con = System.IO.File.ReadAllText(System.IO.Directory.GetCurrentDirectory() + "//a.txt", Encoding.Default);

第二步 通过(\n)截取分割成一条条信息:

 
         var arr = con.Split(new string[] { "\n" }, StringSplitOptions.None);
 

把所分离的信息放在一个string类型的数组里。

 

第三步 循环遍历这个string数组通过(\t)截取分割获取字段值:

            foreach (var s in arr){newRow = dataTable.NewRow();var farr = s.Split(new string[] { "\t" }, StringSplitOptions.None);//farrj就是获得到的字段值的string数组}

 

第四步 我为要显示在DataGridView中,创建了一个dataTable来存放字段名称,和值。


下面是全部完整的代码:
            //获取绝对路径var path = "C:/Users/Ljk/Desktop/a/a.txt";var con = System.IO.File.ReadAllText(path, Encoding.Default);//获取相对路径//var con = System.IO .File.ReadAllText(System.IO.Directory.GetCurrentDirectory() + "//a.txt", Encoding.Default);var arr = con.Split(new string[] { "\n" }, StringSplitOptions.None);DataTable dataTable = new DataTable();#region 医疗信息查询返回字段var dc = dataTable.Columns.Add("医疗机构编码", Type.GetType("System.String"));dc = dataTable.Columns.Add("个人编号", Type.GetType("System.String"));dc = dataTable.Columns.Add("门诊(住院流水号)", Type.GetType("System.String"));dc = dataTable.Columns.Add("单据号", Type.GetType("System.String"));dc = dataTable.Columns.Add("交易类型", Type.GetType("System.String"));dc = dataTable.Columns.Add("医院交易流水号", Type.GetType("System.String"));dc = dataTable.Columns.Add("中心交易流水号", Type.GetType("System.String"));dc = dataTable.Columns.Add("医疗费总额", Type.GetType("System.String"));dc = dataTable.Columns.Add("本次帐户支付", Type.GetType("System.String"));dc = dataTable.Columns.Add("统筹支付金额", Type.GetType("System.String"));
#endregionDataRow newRow = null;foreach (var s in arr){newRow = dataTable.NewRow();var farr = s.Split(new string[] { "\t" }, StringSplitOptions.None);//最后一条信息是空的只有一个字段长度等于1if (farr.Length > 2){#region 医疗信息查询赋值字段newRow["医疗机构编码"] = farr[0];newRow["个人编号"] = farr[1];newRow["门诊(住院流水号)"] = farr[2];newRow["单据号"] = farr[3];newRow["交易类型"] = farr[4];newRow["医院交易流水号"] = farr[5];newRow["中心交易流水号"] = farr[6];newRow["医疗费总额"] = farr[7];newRow["本次帐户支付"] = farr[8];newRow["统筹支付金额"] = farr[9];#endregion}dataTable.Rows.Add(newRow);}dataGridView1.DataSource = dataTable;dataGridView1.AllowUserToAddRows = false;

 

 

 




 

转载于:https://www.cnblogs.com/ljknlb/p/7794374.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/428617.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Combobox报错:row[opts.textField].toLowerCase is not a function。

使用easyui框架加载combobox。 html页面&#xff1a; <span class"search_item"><span class"item_text">账号ID:</span><span class"item_obj"><input class"easyui-textbox" type"text" name&…

c++ 线程什么时候run_多线程并发支撑基础之JAVA内存模型

Java内存模型可以说是Java并发的底层支持&#xff0c;了解Java内存模型才能正在了解Java并发。内存模型在内存中设置一个变量"value 1&#xff1b;"那么其他线程能在什么时候读取到这个结果呢&#xff1f;有可能不能立即甚至永远都读不到。比如指令顺序与源代码中的…

1476D. Journey

D. Journey 一道简单线性dp#include <bits/stdc.h> using namespace std; const int N 5e5 3; char str[N]; int a[N],b[N]; int main() {int t;cin>>t;while (t--){int n;cin>>n;cin>>str1;for (int i0;i<n;i) a[i] b[i] 1;if (str[1]L) a[1]…

润乾报表 数据集ds1中,数据源xmglxt_x3无数据库连接,且未设定数据连接工厂,请检查数据源设定:...

一、润乾报表错误内容 产生数据工厂: com.runqian.report4.dataset.SQLDataSetFactory 失败 错误来源&#xff1a;: 数据集ds1中&#xff0c;数据源xmglxt_x3无数据库连接&#xff0c;且未设定数据连接工厂&#xff0c;请检查数据源设定&#xff1a; 二、解决方法 同事做的润乾…

1388C. Uncle Bogdan and Country Happiness

C. Uncle Bogdan and Country Happiness 纯纯DFS#include <bits/stdc.h> using namespace std; const int N 1e5 3; #define int long long int a[N], b[N], c[N]; vector<int> cun[N]; int vis[N]; int ff 1; void DFS(int x) {int res 0;int xx a[x];for (…

WPF中的数据绑定Data Binding使用小结

完整的数据绑定的语法说明可以在这里查看&#xff1a; http://www.nbdtech.com/Free/WpfBinding.pdf MSDN资料&#xff1a; Data Binding: Part 1 http://msdn.microsoft.com/en-us/library/aa480224.aspx Data Binding: Part 2 http://msdn.microsoft.com/en-us/library/aa480…

awr报告分析 mysql_AWR报告的生成和简单分析方法

生成AWR报告方法&#xff1a; 第一步&#xff1a;数据库压力测试卡开始时&#xff1a;生成第一个快照&#xff1a; Sqlexec dbms_workload_repository.create_snapshot(); 第二步&#xff1a;数据库压力测试结束时&#xff1a;生成第二个快照 Sqlexec dbms_workload_repository…

1560F1. Nearest Beautiful Number (easy version)

F1. Nearest Beautiful Number (easy version) 预处理加二分#include <bits/stdc.h> using namespace std; const int N 3e5 3; #define int long long set<int>cun1,cun2; signed main() {//单个for (int i1;i<9;i){int res 0;for (int j0;j<9;j) {res …

sqlserver 微信昵称_sql server用户名和登录名的区别和联系

在SQLSERVER数据库中&#xff0c;guest帐户是特殊的用户帐户。如果用户使用USE database语句访问的数据库中没有与此用户关联的帐户&#xff0c;此用户就与guest用户相关联。另外SQLSERVER采取登录名-用户名的安全规则&#xff0c;和Oracle里面的schema有点像。SQLSERVER使用所…

1506G. Maximize the Remaining String

G. Maximize the Remaining String 贪心&#xff0c;放置时&#xff0c;如果前面一个小比他小&#xff0c;并且后面还有&#xff0c;那么就把前面的删除#include <bits/stdc.h> using namespace std; const int N 3e5 3; #define int long long string str; char ans[…

bzoj 1208

1208: [HNOI2004]宠物收养所 Time Limit: 10 Sec Memory Limit: 162 MBSubmit: 9775 Solved: 3918[Submit][Status][Discuss]Description 最近&#xff0c;阿Q开了一间宠物收养所。收养所提供两种服务&#xff1a;收养被主人遗弃的宠物和让新的主人领养这些宠物。每个领养者都…

.net千万级数据导出_记一次解决docker下oracle数据库故障事例

一、问题背景&#xff1a;某个项目的线上环境oracle数据库挂了&#xff0c;同事急匆匆来找我救火。我简单咨询了一些基本情况&#xff1a;线上环境&#xff0c;docker部署&#xff0c;已正常运行半年。由于宿主机的根目录硬盘空间不够&#xff0c;运维的同事想把oracle数据文件…

1644E. Expand the Path

E. Expand the Path 一道灯下黑的题目。 我们很显然知道&#xff0c;要让每个列的上限最小&#xff0c;下限最大&#xff08;同理计算行也可以&#xff09;。 所以图形应该是一个中心对称图形 所以空白部分是一个矩形&#xff08;除了一开始的地方&#xff09;&#xff0c;但是…

Swift 将日期转化为字符串,显示上午还是下午

let dateF DateFormatter() // aaa 用于显示上午还是下午&#xff0c;mm和MM 分别表示12小时制和24小时制 dateF.dateFormat "yyyy-MM-dd aaa hh:mm:ss" dateF.amSymbol "上午" dateF.pmSymbol "下午" let str dateF.string(from: Date()) …

车间生产能耗管控方案_如何给生产车间降温 环保空调的这些方案一定能帮到你...

生产车间闷热如何降温&#xff1f;高温闷热带来的影响是非常大&#xff0c;在厂房车间闷热的环境会影响作业人员的情绪&#xff0c;增加燥热感&#xff0c;使工作效率下降&#xff0c;生产力降低&#xff0c;产品质量变差&#xff0c;蕞严重的结果导致客户流失&#xff0c;所以…

1612D. X-Magic Pair

D. X-Magic Pair 一道数学题&#xff0c;我们让a>b&#xff0c;那么如果x在a到a%b之间就可以通过a-n*b得到 然后辗转相余#include <bits/stdc.h> using namespace std; #define int long long const int mod 998244353; const int N 2e5 9; map<int, int> m…

【BZOJ2791】[Poi2012]Rendezvous 倍增

【BZOJ2791】[Poi2012]Rendezvous Description 给定一个n个顶点的有向图&#xff0c;每个顶点有且仅有一条出边。对于顶点i&#xff0c;记它的出边为(i, a[i])。再给出q组询问&#xff0c;每组询问由两个顶点a、b组成&#xff0c;要求输出满足下面条件的x、y&#xff1a;1. 从顶…

app开发人脸登录和指纹登录_易讯云通讯推出“一键登录”,为App登录提供新方案...

移动互联网时代&#xff0c;用户的耐心越来越少&#xff0c;注意力也越来越弱&#xff0c;追求便捷与高效。登录的方式从自定义的账号密码登录&#xff0c;到邮箱登录&#xff0c;到第三方登录与手机验证码登录两种登录方式进行竞争&#xff0c;到现在的个人指纹&#xff0c;人…

1641B. Repetitions Decoding

B. Repetitions Decoding 一个写起来繁琐一点的构造&#xff0c;主要是要记录到哪了。#include<bits/stdc.h> using namespace std; const int N1e6; int t,n,a[N],p[N],v,l,r,A[N],B[N],c,q[N],s; void T(int x,int y) {A[c]x,B[c]y;//A存储地方&#xff0c;B存储数值f…

可以直接考甲级吗_成人高考可以考本科吗?成人高考可以考研究生吗?

成人高考可以考本科吗?成人高考可以考研究生吗?当你选择利用成人高考的方式来提升学历的时候&#xff0c;那么我们需要了解关于成人高考的知识越多越好。成人高考可以考本科吗?成人高考可以考研究生吗?相信这是很多考生都想要了解的问题。成人高考可以考本科吗?成人高考可…