首页 > 编程语言 >c#操作excel方式一:stream简单读写excel

c#操作excel方式一:stream简单读写excel

时间:2023-08-08 10:38:36浏览次数:35  
标签:WriteLine stream c# excel strs ToString str aFile string


需要命名空间

using System.IO;



界面:


c#操作excel方式一:stream简单读写excel_Text


记得添加openFileDialog

c#操作excel方式一:stream简单读写excel_字符串_02

c#操作excel方式一:stream简单读写excel_Text_03

注意名字,改成跟代码里的对应


写文件按钮代码:


private void button2_Click(object sender, EventArgs e)
        {
            int i = 0;
            StreamWriter aFile = null;
            aFile = File.CreateText("aFile .csv");
          
         
           
         //aFile.WriteLine(i.ToString() + "," + (i + 1).ToString() + "," + (i + 2));
          aFile.WriteLine("\"" + i.ToString() + "," + (i + 1).ToString() + "," + (i + 2)+"\"");
         //aFile.WriteLine("\""+i.ToString() + "," + (i + 1).ToString() +"\""+ "," + (i + 2));
            aFile.Close();
                aFile.Dispose();
                MessageBox.Show("end!");
        }

注意逗号分隔符的用法,逗号分隔符把内容分成几个单元格.

如果要在同一个单元格中写入逗号,则要在该单元格内容前后加上双引号加上,3种情况产生的格式如下:

aFile.WriteLine(i.ToString() + "," + (i + 1).ToString() + "," + (i + 2));


c#操作excel方式一:stream简单读写excel_FileStream_04


aFile.WriteLine("\"" + i.ToString() + "," + (i + 1).ToString() + "," + (i + 2)+"\"");


c#操作excel方式一:stream简单读写excel_Text_05




aFile.WriteLine("\""+i.ToString() + "," + (i + 1).ToString() +"\""+ "," + (i + 2));


c#操作excel方式一:stream简单读写excel_Text_06




读文件按钮按钮:


private void button1_Click(object sender, EventArgs e)
        {
            if (openFileDialog.ShowDialog() == DialogResult.OK)
            {
                string str = null;

                FileStream fs = new FileStream(openFileDialog.FileName, FileMode.Open, FileAccess.Read, FileShare.ReadWrite);
                StreamReader reader = new StreamReader(fs, System.Text.Encoding.UTF8);
                while ((str = reader.ReadLine()) != null)
                {


                    // split the string
                    //MessageBox.Show(str);
                    string[] strs = str.Split(',');
                    string show_str = "";
                    for(int i=0;i<strs.Length;i++)
                    {
                        if (i == strs.Length-1)
                        {
                            show_str += strs[i].ToString();
                        }
                        else
                        {
                            show_str += strs[i].ToString() + ",";
                        }
                    }
                    this.label1.Text = show_str;
                }
                reader.Close();
            }
        }




上面三种写入方式读出的字符串对应如下:

c#操作excel方式一:stream简单读写excel_字符串_07


对应读出的字符串:

str=0,1,2

即strs[0]=0

strs[1]=1

strs[2]=2

c#操作excel方式一:stream简单读写excel_FileStream_08


c#操作excel方式一:stream简单读写excel_Text_09

对应的字符串:

str="0,1,2",

即strs[0]="0

strs[1]=1

strs[2]=2"

c#操作excel方式一:stream简单读写excel_Text_10



c#操作excel方式一:stream简单读写excel_FileStream_11


对应的字符串:

str="0,1",2,

即strs[0]="0

 strs[1]=1"

strs[2]=2


c#操作excel方式一:stream简单读写excel_Text_12






标签:WriteLine,stream,c#,excel,strs,ToString,str,aFile,string
From: https://blog.51cto.com/u_16218512/7005029

相关文章

  • c#的修饰符顺序以及修饰符说明,访问权限
    声明类的顺序:访问修饰符+类修饰符+class+类名例:publicclassClass1{}internalsealedclassClass2:Class1{}声明成员(方法或者参数)的顺序:访问修饰符+成员修饰符+值类型+类名例:publicoverrideintAA()publicnewintAA(intx)publicnewstaticinta=5;public......
  • select 选取数据0和1,布尔型的显示为是或否
    sql语句中,有一个字段是布尔型,但是我想通过select查出来,显示的不是0或者1,而显示是或者否selectdecode(字段,1,'是',0,'否')asvaluefromtable或select(case字段when1then'是'when0then'否'end)asvaluefromtable......
  • Java读取Excel中的合并单元格
    1、 Maven仓库下载导入在pom.xml中配置maven路径,指定依赖,如下:<dependency><groupId>org.apache.poi</groupId><artifactId>poi</artifactId><version>4.1.1</version></dependency><dependency><groupId>......
  • c#多线程并发执行一个操作函数
    有时候我们进行很多的数据对比运算时,单线程的程序显得很慢,这个时候可以用多线程并发运行:intmaxThread=10;//10个并发线程intcurrTNum=0;WaitHandle[]whs=newWaitHandle[maxThread];//WaitHanle类MSDN上的定义:封装了......
  • c#文件流读写
    读写的完整流程例子可参考:stream简单读写excel写文件:stringdemo="写入txt中";StreamWriterdemo_log=null;demo_log=File.CreateText("demo_log.txt");demo_log.WriteLine(demo,Encoding.GetEncoding("gb2312"));demo_log.Close();写后......
  • 易基因:m5C RNA甲基转移酶及其在癌症中的潜在作用机制|深度综述
    大家好,这里是专注表观组学十余年,领跑多组学科研服务的易基因。近年来,5-甲基胞嘧啶(m5C)RNA修饰已成为通过编码和非编码RNA调控RNA代谢和功能的关键参与者。越来越多的证据表明,m5C可以调控RNA稳定性、翻译、转录、出核和切割,以及介导细胞增殖、分化、凋亡、应激反应和其他生物学功能......
  • FinClip 支持小程序维度域名配置;桌面端体验活动进行中
    FinClip的使命是使您(业务专家和开发人员)能够通过小程序解决关键业务流程挑战,并完成数字化转型的相关操作。不妨让我们看看在本月的产品与市场发布亮点,看看是否有助于您实现目标。产品方面的相关动向......
  • 【HMS Core】Health Kit 血压、血糖等数据返回数据包含max,min,avg,last 数据,这些数据
    【问题描述】1. 血压、血糖等数据返回数据包含max,min,avg,last数据,这些数据的含义是什么意思?2. 如何获取用户上传健康数据的腕表的型号【解决方案】1、血压原子采样统计数据类型开放的是多日统计查询接口,统计的维度是按照自然日进行统计的。最大最小以及平均值是指这一天的最大......
  • No input file specified. thinkphp 高版本正则重写问题
    Noinputfilespecified.问题描述:使用TP框架做项目时,在启用REWRITE的伪静态功能的时候,首页可以访问,但是访问其它页面的时候,就提示:“Noinputfilespecified.”原因在于使用的PHP5.6是fast_cgi模式,而在某些情况下,不能正确识别path_info所造成的错误默认的.htaccess里面的规则:......
  • Siemens 西门子博途、经典wincc、经典SETP7的区别
    博途软件介绍:博途软件是西门子在2010年11月23日发布的一个野心勃勃的、号称“全集成自动化(TIA=TotalIntegratedAutomation,全集成自动化)”的软件系统,西门子声称该产品是业内首个采用统一工程组态和软件项目环境的自动化软件,使用户能够快速、直观地开发和调试自动化系......