vb.net导出xls科学计数的简单介绍

VB导出excel的代码存在的问题,只能导出当前datagrid显示记录,且导出的身份证很多为科学计数法,怎么办

我看了一下你的代码就是 导出当前datagrid显示记录

10年的玉龙网站建设经验,针对设计、前端、开发、售后、文案、推广等六对一服务,响应快,48小时及时工作处理。网络营销推广的优势是能够根据用户设备显示端的尺寸不同,自动调整玉龙建站的显示方式,使网站能够适用不同显示终端,在浏览器中调整网站的宽度,无论在任何一种浏览器上浏览网站,都能展现优雅布局与设计,从而大程度地提升浏览体验。成都创新互联从事“玉龙网站设计”,“玉龙网站推广”以来,每个客户项目都认真落实执行。

Do While DataGrid1.Row = 0

If i = DataGrid1.Row Then Exit Do

i = DataGrid1.Row '得到DataGrid1当前行

For j = 0 To DataGrid1.Columns.Count - 1 '在DataGrid1当前行各列中循环

With xlsApp

'用长度做判断是不是身份证号,当然这个不是最好的方法,一般应该是固定那一列是身份证号,所以最好如果是第五列那么 if j=4 then,替换下面这行

if len(DataGrid1.Columns(j).Text)=18 or len(DataGrid1.Columns(j).Text)=15 then

.Cells(1, j + 1).NumberFormatLocal = "@" '单元格设置为文本

end if

.Cells(DataGrid1.Row + 1, j + 1) = DataGrid1.Columns(j).Text '填充数据

End With

Next

DataGrid1.Row = DataGrid1.Row + 1

Loop

vb.net中datagradview 另存为excel文件的问题

Public Class Cls导入数据

Dim xlApp As New Excel.Application()

Dim xlBook As Excel.Workbook

Dim xlSheet As Excel.Worksheet

Dim A = "A"

Public Function 导出到Excel(ByVal Dt表 As DataTable) As Boolean

Dim rowIndex, colIndex As Integer

rowIndex = 1

colIndex = 0

xlBook = xlApp.Workbooks().Add

xlSheet = xlBook.Worksheets("sheet1")

Dim Table As New DataTable()

Table = CreaTable()

'将所得到的表的列名,赋值给单元格

Dim Col As DataColumn

Dim Row As DataRow

For Each Col In Table.Columns

colIndex = colIndex + 1

xlApp.Cells(1, colIndex) = Col.ColumnName

Next

'得到的表所有行,赋值给单元格

For Each Row In Table.Rows

rowIndex = rowIndex + 1

colIndex = 0

For Each Col In Table.Columns

colIndex = colIndex + 1

xlApp.Cells(rowIndex, colIndex) = Row(Col.ColumnName)

Next

Next

With xlSheet

.Range(.Cells(1, 1), .Cells(1, colIndex)).Font.Name = "黑体"

'设标题为黑体字

.Range(.Cells(1, 1), .Cells(1, colIndex)).Font.Bold = True

'标题字体加粗

.Range(.Cells(1, 1), .Cells(rowIndex, colIndex)).Borders.LineStyle = 1

'设表格边框样式

End With

With xlSheet.PageSetup

.LeftHeader = "" Chr(10) """楷体_GB2312,常规""10公司名称:" ' Gsmc

.CenterHeader = """楷体_GB2312,常规""公司人员情况表""宋体,常规""" Chr(10) """楷体_GB2312,常规""10日 期:"

.RightHeader = "" Chr(10) """楷体_GB2312,常规""10单位:"

.LeftFooter = """楷体_GB2312,常规""10制表人:"

.CenterFooter = """楷体_GB2312,常规""10制表日期:"

.RightFooter = """楷体_GB2312,常规""10第P页 共N页"

End With

xlApp.SaveWorkspace()

MsgBox("保存完毕", MsgBoxStyle.Exclamation, "提示")

KillAllExcels()

'xlApp.Visible = True

End Function

Sub KillAllExcels()

Dim proc As System.Diagnostics.Process

For Each proc In System.Diagnostics.Process.GetProcessesByName("EXCEL")

proc.Kill()

Next

End Sub

end class

asp.net导出excel 电话变科学计数法了

有2个方案:

1、在导出前对数据进行处理:在电话号码前+上一个“'”(单引号),这样excel就判定该数据是字符串,就不会转化成科学计数法了。

2、可以建立一个导出文件的excel模板(excel文件是.xls,模板文件是.xlt文件),在模板里将要注入数据的单元格属性设置成字符串型就可以了。


当前文章:vb.net导出xls科学计数的简单介绍
标题路径:http://ybzwz.com/article/hejjio.html