C#第三次作业—目标二(Excel数据读取 及 HTML文件初步)

一、【作业要求】
1.
 读取ex03_demo.xls文件中的“ 姓名”和“作业网址”,保存到文本文件中(文件名:ex03_demo.txt)。
2. 把“姓名”和“作业网址”,转换为HTML识别的链接形式,相应的HTML文件名为 ex03_demo.html。
    HTML文件的格式可以查看网络资料
二、程序源代码:

using System;

using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using System.Data.OleDb;
using System.IO;


namespace WindowsFormsApplication1
{
    public partial class Form1 : Form
    {
        
        public Form1()
        {
            InitializeComponent();
        }


        //读取EXCLE数据
        public DataSet ExcelToDS(string path)
        {
            string strConn = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + @path + ";Extended Properties='Excel 8.0;HDR=False;IMEX=1'";
            OleDbConnection conn = new OleDbConnection(strConn);
            conn.Open();




            string strExcel = "SELECT * FROM  [Sheet1$]";






            OleDbDataAdapter myCommand = null;
            myCommand = new OleDbDataAdapter(strExcel, strConn);






            DataSet ds = null;
            ds = new DataSet();


            DataTable table1 = new DataTable();
            myCommand.Fill(table1);
            myCommand.Fill(ds);
            dataGridView1.DataSource = table1;
            return ds;
        }








        //打开文件
        private void button1_Click(object sender, EventArgs e)
        {
            OpenFileDialog openfile = new OpenFileDialog();
            openfile.Filter = "工作簿(*.xls)|*.xls|所有文件(*.*)|*.*";
            if (openfile.FilterIndex == 1 && openfile.ShowDialog() == DialogResult.OK)
            {
                ExcelToDS(openfile.FileName);
            }






            //写入文件
            using (StreamWriter sw = new StreamWriter("d:/1.html", false, Encoding.Default))
            {
                int i = 0;
                sw.WriteLine("<html><body>");
                foreach (DataTable table in ExcelToDS(openfile.FileName).Tables)
                {
                    foreach (DataRow row in table.Rows)
                    {
                        foreach (DataColumn column in table.Columns)
                        {
                           
                            if (column.ColumnName == "作业网址")
                                {
                                sw.Write("<a href=\"" + row[column] + "\">");
                                }
                            if (column.ColumnName == "姓名")
                            {
                                sw.Write(row[column] + "</a>");
                                sw.Write("                                       ");
                            }
                             i++;
                             if (i % 5 == 0)
                             {
                                // sw.Write("<br>");
                             }
                        }
                    }
                }
                sw.WriteLine("</html></body>");
            }
        }










        private void dataGridView1_CellContentClick(object sender, DataGridViewCellEventArgs e)
        {


        }
    }
}
       

       



三、程序截图:







四、心得与体会

在本次作业的完成过程中,虽然说之前做过类似的读取文件,可这是读取的是EXCEL文件。受到最大的启发还是上课时老师对这次作业的一些思路,以及部分函数的使用技巧的讲解。在本次作业中,收获有:

1、加深对文件流StreamRead和StreamWrite的了解,其实有个模板,所以经过这次后把这个模板背下来。

2、对dataGridView这个控件开始初步了解。

3、对DataSet内存中的数据库以及他的跟新开始了解。

4、对HTML的文件格式及其作用初步了解。

5、为学习C#连接数据库打下基础。

总之,最大的收获还是明白了拿到一个问题的时候,先把问题分为若干个小模块,再整理思路,逐个解决。



  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值