zoukankan      html  css  js  c++  java
  • C# 读取txt文本内容写入到excel

    using System;
    using System.Collections.Generic;
    using System.ComponentModel;
    using System.Data;
    using System.Drawing;
    using System.Linq;
    using System.Text;
    using System.Windows.Forms;
    
    using System.IO;
    using Microsoft.Office.Interop.Excel;
    using System.Reflection;
    
    namespace ReadTextToExcel
    {
        public partial class FrmReadTxtToExcel : Form
        {
            public FrmReadTxtToExcel()
            {
                InitializeComponent();
            }
    
            private void button1_Click(object sender, EventArgs e)
            {
                this.ofdRead.ShowDialog();
                this.tbxReadFile.Text = this.ofdRead.FileName;
    
            }
    
            private void FrmReadTxtToExcel_Load(object sender, EventArgs e)
            {
    
            }
    
            private void btnWrite_Click(object sender, EventArgs e)
            {
                this.ofdWrite.ShowDialog();
                this.tbxWriteFile.Text = this.ofdWrite.FileName;
            }
    
            private void btnOperate_Click(object sender, EventArgs e)
            {
                FileStream fs = new FileStream(this.tbxReadFile.Text.ToString(), FileMode.Open, FileAccess.Read);
                StreamReader sr = new StreamReader(fs,System.Text.Encoding.GetEncoding("gb2312"));
                Microsoft.Office.Interop.Excel.Application xApp = new Microsoft.Office.Interop.Excel.ApplicationClass();
                xApp.Visible = true;
                //得到WorkBook对象, 可以用两种方式之一: 下面的是打开已有的文件
                Microsoft.Office.Interop.Excel.Workbook xBook = xApp.Workbooks._Open(this.tbxWriteFile.Text.ToString(),
                Missing.Value, Missing.Value, Missing.Value, Missing.Value
                , Missing.Value, Missing.Value, Missing.Value, Missing.Value
                , Missing.Value, Missing.Value, Missing.Value, Missing.Value);
                //xBook=xApp.Workbooks.Add(Missing.Value);//新建文件的代码
    
                //指定要操作的Sheet,如下两种方式
                Microsoft.Office.Interop.Excel.Worksheet xSheet = (Microsoft.Office.Interop.Excel.Worksheet)xBook.Sheets[1];
                //Excel.Worksheet xSheet=(Excel.Worksheet)xApp.ActiveSheet;
    
                sr.BaseStream.Seek(0, SeekOrigin.Begin); //定位操作点,begin 是一个参考点 
                sr.BaseStream.Seek(0, SeekOrigin.Begin); //读一下,看看文件内有没有内容,为下一步循环 提供判断依据
                string str = sr.ReadLine();//如果 文件有内容   
                int index = 1;
                while (str != null)
                {
                    //输出字符串,str 在上面已经定义了 读入一行字符   
                    this.textBox3.Text = textBox3.Text.ToString() + str;
    
                    //写入数据
                    Microsoft.Office.Interop.Excel.Range rng3 = xSheet.get_Range(Convert.ToString("A"+index), Missing.Value);
                    rng3.Value2 = str;
                    //rng3.Interior.ColorIndex = 6; //设置Range的背景色
                    index++;
                    str = sr.ReadLine();
                }
                //C#读取TXT文件之后关闭文件,注意顺序,先对文件内部进行关闭,然后才是文件 
                sr.Close();
                fs.Close();
    
                //保存方式一:保存WorkBook
                //xBook.SaveAs(this.textBox2.Text.ToString(),
                //Missing.Value, Missing.Value, Missing.Value, Missing.Value, Missing.Value,
                //Microsoft.Office.Interop.Excel.XlSaveAsAccessMode.xlNoChange, Missing.Value, Missing.Value, Missing.Value,
                //Missing.Value, Missing.Value);
    
                //保存方式二
                xBook.Save();
                xSheet = null;
                xBook = null;
                xApp.Quit(); //这一句是非常重要的,否则Excel对象不能从内存中退出
                xApp = null;
            }
    
            private void btnExit_Click(object sender, EventArgs e)
            {
                this.Dispose();
                System.Windows.Forms.Application.Exit();
            }
    
    
        }
    }
    
    
  • 相关阅读:
    c语言 414 根据输入的整数,循环显示1234567890
    c语言 47 编写一段程序,显示小于输入的整数的所有2的乘方。
    c语言49 交替输出正负号,当输入0以下时什么也不显示
    c语言48 改写48的程序,当输入的值小于1时不输出换行符
    c语言 411 逆向输出输入的整数值(同时输出原始数据)
    c语言47 显示出小于输入的整数的所有2的乘方
    c语言412 输入一个整数值显示其位数
    c语言415 输出标准身高体重对照表
    c语言413 求1到n的和
    c语言 410 输出连续* \n
  • 原文地址:https://www.cnblogs.com/shawnzhou/p/3272006.html
Copyright © 2011-2022 走看看