首页 > 编程语言 >c# 将指定文件名和路径的txt文档内容读出来并写到Excel中—winform程序

c# 将指定文件名和路径的txt文档内容读出来并写到Excel中—winform程序

时间:2023-06-13 14:58:58浏览次数:43  
标签:c# Excel System openFileDialog 文本文件 using txt

使用 C# 中的 `System.IO` 和 `Microsoft.Office.Interop.Excel` 库来实现读取文本文件和写入 Excel 文件。

以下是一个示例代码:

 1 using System;
 2 using System.IO;
 3 using System.Windows.Forms;
 4 using Microsoft.Office.Interop.Excel;
 5 
 6 namespace WinFormDemo
 7 {
 8     public partial class Form1 : Form
 9     {
10         public Form1()
11         {
12             InitializeComponent();
13         }
14 
15         private void button1_Click(object sender, EventArgs e)
16         {
17             // 选择要读取的文本文件
18             OpenFileDialog openFileDialog = new OpenFileDialog();
19             openFileDialog.Filter = "Text Files (*.txt)|*.txt";
20             if (openFileDialog.ShowDialog() != DialogResult.OK)
21             {
22                 return;
23             }
24             string filePath = openFileDialog.FileName;
25 
26             // 读取文本文件内容
27             string textContent = File.ReadAllText(filePath);
28 
29             // 创建 Excel 应用程序对象
30             var excelApp = new Application
31             {
32                 Visible = false // 设置不显示 Excel 窗口
33             };
34             try
35             {
36                 // 创建一个新的工作簿
37                 var workbook = excelApp.Workbooks.Add(Type.Missing);
38 
39                 // 获取第一个工作表
40                 var worksheet = (Worksheet)workbook.Worksheets[1];
41 
42                 // 根据换行符将文本内容分割成行
43                 var lines = textContent.Split(new[] { "\r\n", "\r", "\n" }, StringSplitOptions.None);
44 
45                 // 将文本内容写入工作表中
46                 for (int i = 0; i < lines.Length; i++)
47                 {
48                     worksheet.Cells[i + 1, 1] = lines[i];
49                 }
50 
51                 // 保存 Excel 文件
52                 SaveFileDialog saveFileDialog = new SaveFileDialog();
53                 saveFileDialog.Filter = "Excel Workbook (*.xlsx)|*.xlsx";
54                 if (saveFileDialog.ShowDialog() == DialogResult.OK)
55                 {
56                     workbook.SaveAs(saveFileDialog.FileName);
57                 }
58 
59                 // 关闭工作簿和 Excel 应用程序
60                 workbook.Close();
61                 excelApp.Quit();
62             }
63             catch (Exception ex)
64             {
65                 // 处理异常
66                 MessageBox.Show(ex.Message, "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
67             }
68         }
69     }
70 }

 

此代码将从打开文件对话框中选择的文本文件读取内容,并使用换行符分割成多行,然后将其写入到 Excel 工作表的第一列中。最后将 Excel 文件保存在另一个文件对话框中指定的位置。请注意,这里使用了 `SaveAs` 方法而不是 `Save` 方法,因为我们要将 .txt 文本文件转换成 .xlsx Excel 文件格式。

标签:c#,Excel,System,openFileDialog,文本文件,using,txt
From: https://www.cnblogs.com/cloud-sword/p/17477458.html

相关文章

  • git【fatal: unable to access 'XXXX': Failed to connect to github.com port 443 a
    依次将如下两条语句复制到git中后,点击回车gitconfig--global--unsethttp.proxygitconfig--global--unsethttps.proxywin+r打开cmd,将ipconfig/flushdns复制,点击回车,清理DNS缓存 ......
  • C语言:进制转换器,实现二进制、八进制、十进制、十六进制之间的相互转化
    1#include<stdio.h>2#include<stdlib.h>3#include<string.h>4#include<ctype.h>56intdec2bin(intn){//十进制转二进制7if(n==0){8return0;9}else{10return(n%2+10*de......
  • Quarkus vs. Spring Boot: A head-to-head comparison
    作者:SamuelCatalanohttps://medium.com/@samuelcatalano/quarkus-vs-spring-boot-a-head-to-head-comparison-3b9502c0a345Whenitcomestobuildingmicroservicesandothercloud-nativeapplications,therearemanyoptionsavailabletodevelopers.Twopopularf......
  • vdbench-磁盘/文件系统性能测试工具
    vdbench是一个I/O测试工具,可以用来测试磁盘和文件系统读写性能centos7安装1、java环境[root@node1~]#yuminstall-yjava-1.8.0-openjdkjava-1.8.0-openjdk-develunzip[root@node1~]#java-versionopenjdkversion"1.8.0_292"OpenJDKRuntimeEnvironment(build......
  • c语言:计数器实验
    要求:P1口接2只LED灯,定时器T1采用计数模式,方式1中断,外接按钮开关作为计数输入,当按2次按钮开关,P1口第一只LED点亮,再按2次按钮开关,P1口第二只LED点亮,再按2次按钮,所有LED灯熄灭。 1#include<reg52.h>23//定义LED灯的控制端口和对应的控制位4sbitLED1=P1^0;5......
  • git命令修改已经commit的内容
    参考:https://www.jianshu.com/p/0f1fbd50b4be  总结如下: 1.  gitrebase-iHEAD~3  命令3表示你最近提交的一次提交数 2.输入i进入编辑页面.讲pick修改为edit 3.输入gitcommit--amend 4.gitrebase--continue   这里面我有问题,就是既然能进......
  • Python: json object_hook object_paire_hook
      data='[{"foo":"bar","foo":"baz","b":99}]'json.loads(data,object_hook=print)json.loads(data,object_pairs_hook=print)  ......
  • 解决:pip is configured with locations that require TLS/SSL
     在使用pip进行软件包安装的时候出现问题:WARNING:pipisconfiguredwithlocationsthatrequireTLS/SSL,howeverthesslmoduleinPythonisnotavailable.解决:mkdir-p~/.pipvim~/.pip/pip.conf 然后输入内容:[global]index-url=http://mirrors.aliyun.......
  • C++ Today 03
    3.0运算符用于:执行代码的运算运算符类型:算数运算符用于处理s四则运算赋值运算符用于将表达式赋值给变量比较运算符用于表达式的比较,并返回一个真值和假2值逻辑运算符用于根据表达式的值返回真值或假值3......
  • XSS cookie伪造攻击
    环境系统:windows7靶场:DVWA场景:chrome对firefox的个人cookie盗用伪造IP:192.168.98.128端口:未占用的任意端口实施1.首先确保firefox登录状态,即存在cookie2.构造获取cookie的js请求脚本<script>document.write('<imgsrc="url'+document.coo......