问题描述
如题,我不想要把隐藏域导出。怎么设置。。。求~~
解决方案
解决方案二:
不要选择隐藏域
解决方案三:
直接导出数据源。
解决方案四:
引用2楼wxr0323的回复:
直接导出数据源。
可是我需要gridview的样式,我进行了合并单元格什么的。
解决方案五:
'''<summary>'''将DataGridview中的数据导出到Excel'''</summary>'''<paramname="dgvSouse">要导出到Excel的DataGridView</param>'''<paramname="blnIsOnlyVisible">判断是否添加所有DataGridView中的内容</param>'''<remarks></remarks>SubExportExcel(ByValdgvSouseAsDataGridView,ByValblnIsOnlyVisibleAsBoolean)TryDimIntColumnNumHeadAsInteger'定义表头循环的列数DimIntRowNumTextAsInteger'定义内容循环的行数DimIntColumnNumTextAsInteger'定义内容循环的列数DimIntCurrentRowAsInteger'定义当前的列DimIntCurrentColAsInteger'定义当前的行DimExcelAsExcel.Application=NewExcel.Application'定义Excel程序Excel.Application.Workbooks.Add(True)'增加一个工作簿'循环将表头填入ExcelIntCurrentCol=1'记录当前的列数ForIntColumnNumHead=0TodgvSouse.ColumnCount-1IfblnIsOnlyVisibleThen'判断用户是否添加所有的内容'如果用户只添加可见内容则判断哪些列不可见IfdgvSouse.Columns(IntColumnNumHead).VisibleThen'判断该列是否是可见(貌似没有用啊)'只添加可见的列Excel.Cells(1,IntCurrentCol)=dgvSouse.Columns(IntColumnNumHead).HeaderTextIntCurrentCol=IntCurrentCol+1EndIfElse'如果用户添加所有内容则全部添加Excel.Cells(1,IntColumnNumHead+1)=dgvSouse.Columns(IntColumnNumHead).HeaderTextEndIfNext'循环将内容填入Excel中IntCurrentRow=2'记录当前的行数ForIntRowNumText=0TodgvSouse.RowCount-1IntCurrentCol=1ForIntColumnNumText=0TodgvSouse.ColumnCount-1IfblnIsOnlyVisibleThen'判断用户是否添加所有的内容'如果用户只添加可见内容则判断哪些列不可见IfdgvSouse.Columns(IntColumnNumText).VisibleThen'判断该列是否可见'只添加可见的列Excel.Cells(IntRowNumText+2,IntCurrentCol)=dgvSouse.Rows(IntRowNumText).Cells(IntColumnNumText).ValueIntCurrentCol=IntCurrentCol+1EndIfElse'如果用户添加所有内容则全部添加Excel.Cells(IntRowNumText+2,IntColumnNumText+1)=dgvSouse.Rows(IntRowNumText).Cells(IntColumnNumText).ValueEndIfNextNextExcel.Visible=True'将Excel设为可见CatchexAsExceptionThrowex'抛出异常EndTryEndSub
解决方案六:
引用4楼beijiguangyong的回复:
VB.NETcode'''<summary>'''将DataGridview中的数据导出到Excel'''</summary>'''<paramname="dgvSouse">要导出到Excel的DataGridView</param>'''<paramname="blnIsOnlyVisible">判断是否添加所有DataG……
谢谢。这个方法还是对我很有帮助的。最后,我把隐藏域里面的字段放到需要隐藏的列里面了。这样,就不会出现隐藏域了。但是,我很疑惑的是,导出的时候,怎么会连隐藏域都导出,是不是全部空间都会导出呢?