以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  如何用代码删除excel表中的列?  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=160888)

--  作者:czy66ds
--  发布时间:2021/2/25 10:25:00
--  如何用代码删除excel表中的列?
加入打开了一个表:
Dim dlg As New OpenFileDialog \'定义一个新的OpenFileDialog
dlg.Filter= "Excel2007文件|*.xlsx"
If dlg.ShowDialog = DialogResult.Ok Then
    Dim Book As New XLS.Book(dlg.FileName)
    Dim Sheet As XLS.Sheet = Book.Sheets(0)


列标题位置在表中的第0列 

希望遍历列标题,删除列标题为“aa”的列。

--  作者:czy66ds
--  发布时间:2021/2/25 10:28:00
--  
更正:列标题在第0行,打错了
--  作者:有点蓝
--  发布时间:2021/2/25 10:38:00
--  
参考:http://www.foxtable.com/webhelp/topics/1157.htm

Dim Sheet As XLS.Sheet = Book.Sheets(0)
For n As Integer = Sheet.Cols.Count -1 to 0 step -1
if sheet(0,n).Text = "aa" then
Sheet.Cols.RemoveAt(n)
end if
next

--  作者:czy66ds
--  发布时间:2021/2/25 11:18:00
--  
谢谢。
还有一个难题:

图片点击可在新窗口打开查看此主题相关图片如下:snipaste_拆分单元格.png
图片点击可在新窗口打开查看

此前都是手工操作的。


--  作者:有点蓝
--  发布时间:2021/2/25 11:37:00
--  
http://www.foxtable.com/webhelp/topics/1153.htm
--  作者:czy66ds
--  发布时间:2021/2/25 13:12:00
--  
谢谢

现在测试一下测试ClearMergedCells
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:测试clearmergedcells.zip


测试用excel文件在项目文件夹下abc.slsx 
方法ClearMergedCells似乎没起作用。



--  作者:有点蓝
--  发布时间:2021/2/25 13:37:00
--  
测试没有问题,合并单元格已经取消了,至于取消合并后,单元格内容不会自动填上的,自己补上
--  作者:czy66ds
--  发布时间:2021/2/25 14:04:00
--  
可以写代码补吗
--  作者:有点蓝
--  发布时间:2021/2/25 14:15:00
--  
可以,遍历所有行,如果单元格是空值就取上一行的数据