C#如何将textbox的值保存为Excel

时间:2022-10-04 11:50:42
怎么把textbox的值保存为Excel啊,例如textobx为本内容是这样子的:
aa:123
bb:123
cc:123
这个怎么弄啊

15 个解决方案

#1


string s = @"aa:123
bb:123
cc:123";
File.WriteLineAllLines("c:\1.xls", s.Replace(":", ","));

#2


C#如何将textbox的值保存为Excel那如何将文本框的值保存到datatable中,然后再弄成excel呢,老大说要先弄成datatable

#3


引用 1 楼 caozhy 的回复:
string s = @"aa:123
bb:123
cc:123";
File.WriteLineAllLines("c:\1.xls", s.Replace(":", ","));

好像还要按照格式排: aa  123  
                     bb  123

#4


DataTable dt = new DataTable();
dt.Columns.Add("name");
dt.Columns.Add("value");
foreach (var item in textBox1.Lines)
{
    dt.Rows.Add(item.Split(':'));
}

#5


引用 4 楼 caozhy 的回复:
DataTable dt = new DataTable();
dt.Columns.Add("name");
dt.Columns.Add("value");
foreach (var item in textBox1.Lines)
{
    dt.Rows.Add(item.Split(':'));
}

不用导入那个什么microsoft.office.excel引用吗?那怎么把这个dt给弄成excel啊

#6


http://blog.csdn.net/rui_china/article/details/10405069
格式化数据==》DateTable ==》保存到Excel

#7


引用 5 楼 z779150119 的回复:
Quote: 引用 4 楼 caozhy 的回复:

DataTable dt = new DataTable();
dt.Columns.Add("name");
dt.Columns.Add("value");
foreach (var item in textBox1.Lines)
{
    dt.Rows.Add(item.Split(':'));
}

不用导入那个什么microsoft.office.excel引用吗?那怎么把这个dt给弄成excel啊


就你这个简单的需求,用我的代码就可以。麻烦了你又不会了。 C#如何将textbox的值保存为Excel

#8


C#如何将textbox的值保存为Excel我这里有一个写的导成excel的,但有点问题,而且没用到datatable,他放到excel里就一条数据

#9


引用 5 楼 z779150119 的回复:
Quote: 引用 4 楼 caozhy 的回复:

DataTable dt = new DataTable();
dt.Columns.Add("name");
dt.Columns.Add("value");
foreach (var item in textBox1.Lines)
{
    dt.Rows.Add(item.Split(':'));
}

不用导入那个什么microsoft.office.excel引用吗?那怎么把这个dt给弄成excel啊

需要引入dll

#10


C#如何将textbox的值保存为Excel
引入了dll,但做的有问题

#11


该回复于2013-09-05 15:28:51被管理员删除

#12


 private void btn_outdata_Click(object sender, EventArgs e)
        {

            SaveFileDialog sfd = new SaveFileDialog();
            sfd.DefaultExt = "xls";    //设置默认扩展名为xls
            sfd.Filter = "Microsoft.Office.Interop.Microsoft.Office.Interop.Excel文件(*.xls)|*.xls";//另存文件时文件类型框中出现的内容
            if (sfd.ShowDialog() == DialogResult.OK)  //获取选定的另存文件对话框存在
            {
                DoExport(this.txtFields, sfd.FileName);
            }
        }

        private void DoExport(TextBox textbox, string strFileName)
        {
            string[] lines = System.Text.RegularExpressions.Regex.Split(textbox.Text, "\r\n");
            // int rowNum = lines.Length;//获取 TextBox2控件里的数据行数
            int rowNum = lines.Length; //读取Textbox控件里数据的行数
            int rowIndex = 1;   //定义一个Microsoft.Office.Interop.Microsoft.Office.Interop.Excel行
            int col = 1;        //定义一个Microsoft.Office.Interop.Microsoft.Office.Interop.Excel列,默认为1
            if (rowNum == 0 || string.IsNullOrEmpty(strFileName)) //控件里没有数据
            {
                return;
            }
            if (rowNum > 0)//控件里有数据
            {
                Microsoft.Office.Interop.Excel.Application xlApp = new Microsoft.Office.Interop.Excel.Application();
                if (xlApp == null)
                {
                    MessageBox.Show("无法创建Microsoft.Office.Interop.Excel对象,可能您的系统未安装Microsoft.Office.Interop.Excel");
                    return;
                }
                xlApp.DefaultFilePath = "";
                xlApp.DisplayAlerts = true;
                xlApp.SheetsInNewWorkbook = 1;
                Microsoft.Office.Interop.Excel.Workbook xlBook = xlApp.Workbooks.Add(true);
                for (int i = 0; i < rowNum; i++)//将数据导入Microsoft.Office.Interop.Microsoft.Office.Interop.Excel
                {
                    //string ss = textbox.Lines[i].ToString();  //读取相对应行的数据
                    rowIndex++;
                    xlApp.Cells[rowIndex, col] = Convert.ToString(lines.Length.ToString()) + "\t";//读取到的Textbox控件里的数据导入到Microsoft.Office.Interop.Microsoft.Office.Interop.Excel
                    // xlApp.Rows[rowIndex,0] = Convert.ToString(lines.ToString()) + "\t";
                }
                xlBook.SaveAs(strFileName, Microsoft.Office.Interop.Excel.XlFileFormat.xlWorkbookNormal, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Microsoft.Office.Interop.Excel.XlSaveAsAccessMode.xlExclusive, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing);
                xlApp = null;
                xlBook = null;
                MessageBox.Show("数据导入成功!!");
            }
        }
    }

这是那个导成excel后的代码,但他就只有一个显示

#13


引用 11 楼 tanaichuan 的回复:
I Support You
酱油党?你想干嘛

#14


 xlApp.Cells[rowIndex, col] = Convert.ToString(lens.LengthToString()) + "\t";应该是

 xlApp.Cells[rowIndex, col] = Convert.ToString(textbox.Lines[i].ToString()) + "\t";这样子的,刚那句没改

#15


读取DataTable就用Caozhy的代码就可以,关于把DataTable写入到Excel可以参考下面的例子:
http://www.cnblogs.com/wmmbsky/archive/2010/11/26/1888880.html

#1


string s = @"aa:123
bb:123
cc:123";
File.WriteLineAllLines("c:\1.xls", s.Replace(":", ","));

#2


C#如何将textbox的值保存为Excel那如何将文本框的值保存到datatable中,然后再弄成excel呢,老大说要先弄成datatable

#3


引用 1 楼 caozhy 的回复:
string s = @"aa:123
bb:123
cc:123";
File.WriteLineAllLines("c:\1.xls", s.Replace(":", ","));

好像还要按照格式排: aa  123  
                     bb  123

#4


DataTable dt = new DataTable();
dt.Columns.Add("name");
dt.Columns.Add("value");
foreach (var item in textBox1.Lines)
{
    dt.Rows.Add(item.Split(':'));
}

#5


引用 4 楼 caozhy 的回复:
DataTable dt = new DataTable();
dt.Columns.Add("name");
dt.Columns.Add("value");
foreach (var item in textBox1.Lines)
{
    dt.Rows.Add(item.Split(':'));
}

不用导入那个什么microsoft.office.excel引用吗?那怎么把这个dt给弄成excel啊

#6


http://blog.csdn.net/rui_china/article/details/10405069
格式化数据==》DateTable ==》保存到Excel

#7


引用 5 楼 z779150119 的回复:
Quote: 引用 4 楼 caozhy 的回复:

DataTable dt = new DataTable();
dt.Columns.Add("name");
dt.Columns.Add("value");
foreach (var item in textBox1.Lines)
{
    dt.Rows.Add(item.Split(':'));
}

不用导入那个什么microsoft.office.excel引用吗?那怎么把这个dt给弄成excel啊


就你这个简单的需求,用我的代码就可以。麻烦了你又不会了。 C#如何将textbox的值保存为Excel

#8


C#如何将textbox的值保存为Excel我这里有一个写的导成excel的,但有点问题,而且没用到datatable,他放到excel里就一条数据

#9


引用 5 楼 z779150119 的回复:
Quote: 引用 4 楼 caozhy 的回复:

DataTable dt = new DataTable();
dt.Columns.Add("name");
dt.Columns.Add("value");
foreach (var item in textBox1.Lines)
{
    dt.Rows.Add(item.Split(':'));
}

不用导入那个什么microsoft.office.excel引用吗?那怎么把这个dt给弄成excel啊

需要引入dll

#10


C#如何将textbox的值保存为Excel
引入了dll,但做的有问题

#11


该回复于2013-09-05 15:28:51被管理员删除

#12


 private void btn_outdata_Click(object sender, EventArgs e)
        {

            SaveFileDialog sfd = new SaveFileDialog();
            sfd.DefaultExt = "xls";    //设置默认扩展名为xls
            sfd.Filter = "Microsoft.Office.Interop.Microsoft.Office.Interop.Excel文件(*.xls)|*.xls";//另存文件时文件类型框中出现的内容
            if (sfd.ShowDialog() == DialogResult.OK)  //获取选定的另存文件对话框存在
            {
                DoExport(this.txtFields, sfd.FileName);
            }
        }

        private void DoExport(TextBox textbox, string strFileName)
        {
            string[] lines = System.Text.RegularExpressions.Regex.Split(textbox.Text, "\r\n");
            // int rowNum = lines.Length;//获取 TextBox2控件里的数据行数
            int rowNum = lines.Length; //读取Textbox控件里数据的行数
            int rowIndex = 1;   //定义一个Microsoft.Office.Interop.Microsoft.Office.Interop.Excel行
            int col = 1;        //定义一个Microsoft.Office.Interop.Microsoft.Office.Interop.Excel列,默认为1
            if (rowNum == 0 || string.IsNullOrEmpty(strFileName)) //控件里没有数据
            {
                return;
            }
            if (rowNum > 0)//控件里有数据
            {
                Microsoft.Office.Interop.Excel.Application xlApp = new Microsoft.Office.Interop.Excel.Application();
                if (xlApp == null)
                {
                    MessageBox.Show("无法创建Microsoft.Office.Interop.Excel对象,可能您的系统未安装Microsoft.Office.Interop.Excel");
                    return;
                }
                xlApp.DefaultFilePath = "";
                xlApp.DisplayAlerts = true;
                xlApp.SheetsInNewWorkbook = 1;
                Microsoft.Office.Interop.Excel.Workbook xlBook = xlApp.Workbooks.Add(true);
                for (int i = 0; i < rowNum; i++)//将数据导入Microsoft.Office.Interop.Microsoft.Office.Interop.Excel
                {
                    //string ss = textbox.Lines[i].ToString();  //读取相对应行的数据
                    rowIndex++;
                    xlApp.Cells[rowIndex, col] = Convert.ToString(lines.Length.ToString()) + "\t";//读取到的Textbox控件里的数据导入到Microsoft.Office.Interop.Microsoft.Office.Interop.Excel
                    // xlApp.Rows[rowIndex,0] = Convert.ToString(lines.ToString()) + "\t";
                }
                xlBook.SaveAs(strFileName, Microsoft.Office.Interop.Excel.XlFileFormat.xlWorkbookNormal, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Microsoft.Office.Interop.Excel.XlSaveAsAccessMode.xlExclusive, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing);
                xlApp = null;
                xlBook = null;
                MessageBox.Show("数据导入成功!!");
            }
        }
    }

这是那个导成excel后的代码,但他就只有一个显示

#13


引用 11 楼 tanaichuan 的回复:
I Support You
酱油党?你想干嘛

#14


 xlApp.Cells[rowIndex, col] = Convert.ToString(lens.LengthToString()) + "\t";应该是

 xlApp.Cells[rowIndex, col] = Convert.ToString(textbox.Lines[i].ToString()) + "\t";这样子的,刚那句没改

#15


读取DataTable就用Caozhy的代码就可以,关于把DataTable写入到Excel可以参考下面的例子:
http://www.cnblogs.com/wmmbsky/archive/2010/11/26/1888880.html