怎么在VB中读取excel的数据
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了怎么在VB中读取excel的数据相关的知识,希望对你有一定的参考价值。
sub test()Set xlsApp=GetObject(,"excel.application")
if xlsApp Is Nothing then exit sub
msgbox xlsApp.ActiveCell.Value
end sub
用Set xlsApp=GetObject(,"excel.application")可以获得当前打开的excel程序
可以用xlsApp.workbooks(i)表示第i个打开的工作簿(也就是.xls文件)
再往下是xlsApp.workbooks(i).sheets(j)表示上述工作簿的第j个工作表
再往下是xlsApp.workbooks(i).sheets(j).cells(rowIndex, ColIndex)表示上述工作表rowIndex行,ColIndex列的单元格,或者用类似xlsApp.workbooks(i).sheets(j).range("A1:B10")取得上述工作表中的A1:B10区域
如果在装office的时候选上“VBA帮助文件”,可以进excel后按alt + F11进入“Microsoft Visual basic”编辑器,然后按F1查看帮助中关于Excel对象模型以及相关对象、属性、方法、事件的介绍 参考技术A 添加引用 Microsoft Excel ,可以自由操纵Excel
使用SQL语言,把Excel当作一个数据库来读取 参考技术B excel可以另存为TXT格式的,VB打开TXT格式的会把。
fn = FreeFile
Open Trim$(“路径") For Input As #fn
Do Until EOF(fn)
Input #fn, stra
loop
close #fn
vb6.0编程用到flexcell控件,怎么将单元格合并,或者分开。
要求合并两个单元格或者把一个分开成两个单元格。
参考技术A uses ComOBj;var
workbook,sheet,excelObj,excel: OleVariant;
begin
excelObj := CreateOleObject('excel.sheet');
excel := excelObj.Application;
workbook := excel.workbooks.open(filePath);//打开某个文件
sheet := workbook.sheets[1];
Excel.ActiveWindow.WindowState := -4137;
Sheet.Range['A1', 'C3'].Select;//选择范围
Excel.Selection.HorizontalAlignment := xlCenter;//水平和垂直居中
Excel.Selection.VerticalAlignment := xlCenter;
Excel.Selection.MergeCells := True;//合并单元格
excel.visible := true;
end;
private void MergeRow2(Grid grid, string colNum, int startRow)
string oldStr = string.Empty;
int mergeStartRow = -1;
string[] cols = colNum.Split('|');
string oldNum = string.Empty;
int rowMak = startRow;
for (int i = 0; i < cols.Length; i++)
int col = int.Parse(cols[i]);
startRow = rowMak;
if (col != 1)
for (int row = startRow; row < grid.Rows; row++)
string newNum = grid.Cell(startRow, 1).Text.Trim();
string newStr = grid.Cell(startRow, col).Text.Trim();
if (oldStr == "")
oldStr = newStr;
oldNum = newNum;
startRow += 1;
else
if (newNum == oldNum && oldStr == newStr)
grid.Range(startRow, col, startRow - 1, col).Merge();
oldStr = newStr;
oldNum = newNum;
startRow += 1;
else
for (int j = 0; j < cols.Length; j++)
for (int row = 1; row < grid.Rows; row++)
string newStr = grid.Cell(row, col).Text.Trim();
if (oldStr != newStr)
// 先合并
if ((mergeStartRow > -1) && (row - 1 > mergeStartRow))
grid.Range(mergeStartRow, col, row - 1, col).Merge();
// 后赋值
oldStr = newStr;
mergeStartRow = row;
追问
什么意思啊?那么多?你这个是vba吧!!!
参考技术B 已私信发送,采纳吧~本回答被提问者采纳以上是关于怎么在VB中读取excel的数据的主要内容,如果未能解决你的问题,请参考以下文章