| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1602 人关注过本帖
标题:vb.net 中输出 Word 问题
只看楼主 加入收藏
Rainbow_7
Rank: 1
等 级:新手上路
帖 子:25
专家分:0
注 册:2009-6-18
结帖率:66.67%
收藏
 问题点数:0 回复次数:7 
vb.net 中输出 Word 问题
正在编写一个程序输出 Word 表格。
Private Function CreaTable() As DataTable
        Dim dt As New DataTable
        dt.Columns.Add("姓名", GetType(String))
        dt.Columns.Add("性别", GetType(String))
        dt.Columns.Add("年龄", GetType(Integer))
        dt.Columns.Add("毕业学校", GetType(String))
        Dim row, row1 As DataRow
        row = dt.NewRow()
        row!姓名 = "小李"
        row!性别 = "男"
        row!年龄 = 22
        row!毕业学校 = " 清华大学"
        dt.Rows.Add(row)
        Return dt
    End Function
这段代码输出过 Word 表格的人应该不陌生。我想实现的是添加变量。
Private Function CreaTable() As DataTable
        Dim dt As New DataTable
        dt.Columns.Add("姓名", GetType(String))
        dt.Columns.Add(变量1, GetType(String))
        dt.Columns.Add("年龄", GetType(Integer))
        dt.Columns.Add(变量2, GetType(String))
        Dim row, row1 As DataRow
        row = dt.NewRow()
        row!姓名 = "小李"
        row!变量1 = "男" '在这里叹号后面直接输入变量就出错。
        row!年龄 = 22
        row!变量2 = " 清华大学" '在这里叹号后面直接输入变量就出错。
        dt.Rows.Add(row)
    End Function
请教各位这个如何解决?初学者,请多多指教,谢谢!


[ 本帖最后由 Rainbow_7 于 2009-12-18 08:57 编辑 ]
搜索更多相关主题的帖子: 输出 Word 
2009-12-18 08:43
Rainbow_7
Rank: 1
等 级:新手上路
帖 子:25
专家分:0
注 册:2009-6-18
收藏
得分:0 
这里好冷清啊。比较急,版主不在吗?
2009-12-18 09:48
不说也罢
Rank: 13Rank: 13Rank: 13Rank: 13
等 级:贵宾
威 望:39
帖 子:1481
专家分:4989
注 册:2007-10-7
收藏
得分:0 
你的变量没有事先定义吧:

  Private Function CreaTable() As DataTable
        Dim dt As New DataTable
        Dim 变量1 As String = "变量1"
        Dim 变量2 As String = "变量2"

        dt.Columns.Add("姓名", GetType(String))
        dt.Columns.Add(变量1, GetType(String))
        dt.Columns.Add("年龄", GetType(Integer))
        dt.Columns.Add(变量2, GetType(String))
        Dim row As DataRow
        row = dt.NewRow()
        row!姓名 = "小李"
        row!变量1 = "男" '在这里叹号后面直接输入变量就出错。
        row!年龄 = 22
        row!变量2 = " 清华大学" '在这里叹号后面直接输入变量就出错。
        dt.Rows.Add(row)
        Return dt'这一句不能少哟
    End Function

  Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        DataGridView1.DataSource = CreaTable()
    End Sub

===================================================
讨厌C#的行尾的小尾巴;和一对大括号{ }
===================================================
2009-12-18 11:51
Rainbow_7
Rank: 1
等 级:新手上路
帖 子:25
专家分:0
注 册:2009-6-18
收藏
得分:0 
还是不行。Return dt 这句是我发帖的时候漏的。
我需要的效果是:
        Dim dt As New DataTable
        Dim bianliang1 As String = TextBox1.Text
        Dim bianliang2 As String = Label25.Text
        dt.Columns.Add("用户", GetType(String))
        dt.Columns.Add(bianliang1, GetType(String))
        dt.Columns.Add("电话", GetType(Integer))
        dt.Columns.Add(bianliang2, GetType(String))
        Dim row1 As DataRow
        row1 = dt.NewRow()
        row1!用户 = "test"
        row1!bianliang1 = TextBox3.Text '运行到此行出错!错误提示:列“bianliang1”不属于表 。
        row1!电话 = "test"
        row1!bianliang2 = TextBox4.Text
        dt.Rows.Add(row1)
        Return dt

是不是叹号后面不能输入变量?有没有其他方法?
2009-12-18 15:35
不说也罢
Rank: 13Rank: 13Rank: 13Rank: 13
等 级:贵宾
威 望:39
帖 子:1481
专家分:4989
注 册:2007-10-7
收藏
得分:0 
可以用下面的例子,应当没有问题的
不过,在看下面的例子之前,你要注意两个问题:
1)提问前要准确表达自已的意思
2)row1!电话 = "test"'这一句与你的定义dt.Columns.Add("电话", GetType(Integer))的类型是矛盾的哦

  
程序代码:
  Private Function CreaTable() As DataTable
        Dim dt As New DataTable
        Dim bianliang1 As String = TextBox1.Text
        Dim bianliang2 As String = Label25.Text
        dt.Columns.Add("用户", GetType(String))
        dt.Columns.Add(bianliang1, GetType(String))
        dt.Columns.Add("电话", GetType(Integer))
        dt.Columns.Add(bianliang2, GetType(String))
        Dim row1 As DataRow
        row1 = dt.NewRow()
        row1!用户 = "test"
        '可以用小括号将你的变量名括起来
        '将文本框值传递变量,最好不要出现关键词
        row1(bianliang1) = TextBox3.Text '运行到此行出错!错误提示:列“bianliang1”不属于表 。
        row1!电话 = "123456"
        row1(bianliang2) = TextBox4.Text
        dt.Rows.Add(row1)
        Return dt
    End Function


    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
        DataGridView1.DataSource = CreaTable()
    End Sub



===================================================
讨厌C#的行尾的小尾巴;和一对大括号{ }
===================================================
2009-12-18 16:43
Rainbow_7
Rank: 1
等 级:新手上路
帖 子:25
专家分:0
注 册:2009-6-18
收藏
得分:0 
解决了!版主。。。我只是举例时候疏忽的。实际上我这里不需要 Integer 类型,全部为 String 就可以了。
只是出错部分与数据类型无关,所以没有注意。多谢版主的指导!谢谢!
2009-12-18 16:52
不说也罢
Rank: 13Rank: 13Rank: 13Rank: 13
等 级:贵宾
威 望:39
帖 子:1481
专家分:4989
注 册:2007-10-7
收藏
得分:0 
不客气啊,现在学习的人在坛子里不多,祝你进步。请及时结贴。

===================================================
讨厌C#的行尾的小尾巴;和一对大括号{ }
===================================================
2009-12-18 16:57
快乐12
Rank: 1
等 级:新手上路
帖 子:5
专家分:0
注 册:2010-8-14
收藏
得分:0 
还有就是excel中,怎么批量处理页面设置
2010-08-14 16:19
快速回复:vb.net 中输出 Word 问题
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.030271 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved