找回密码
 立即注册

QQ登录

只需一步,快速开始

zzz123

注册会员

13

主题

32

帖子

159

积分

注册会员

积分
159
zzz123
注册会员   /  发表于:2023-3-9 18:47  /   查看:3149  /  回复:6
1金币

为什么这个方法读取excel会有100多万行。有没有办法只保留有数据的行数?
fs.OpenExcel(openFileDialog.FileName, FarPoint.Excel.ExcelOpenFlags.DataOnly),

最佳答案

查看完整内容

用这个方法可以了 For sheetIndex = 0 To fs.Sheets.Count - 1 fs.Sheets(sheetIndex).RowCount = fs.Sheets(sheetIndex).GetLastNonEmptyRow(FarPoint.Win.Spread.NonEmptyItemFlag.Data)+1 fs.Sheets(sheetIndex).ColumnCount = fs.Sheets(sheetIndex).GetLastNonEmptyColumn(FarPoint.Win.Spread.NonEmptyItemFlag.Data)+1 Next

6 个回复

倒序浏览
最佳答案
最佳答案
zzz123
注册会员   /  发表于:2023-3-9 18:47:34
来自 6#


用这个方法可以了
For sheetIndex = 0 To fs.Sheets.Count - 1
                fs.Sheets(sheetIndex).RowCount = fs.Sheets(sheetIndex).GetLastNonEmptyRow(FarPoint.Win.Spread.NonEmptyItemFlag.Data)+1
                fs.Sheets(sheetIndex).ColumnCount = fs.Sheets(sheetIndex).GetLastNonEmptyColumn(FarPoint.Win.Spread.NonEmptyItemFlag.Data)+1
            Next
回复 使用道具 举报
Richard.Ma讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2023-3-10 09:25:49
2#
本帖最后由 Richard.Ma 于 2023-3-10 09:27 编辑

你可以在打开文件后再用下面的代码设置行列数

  1. var sheet1 = fpSpread1.AsWorkbook().ActiveSheet;
  2. var usedRange = sheet1.UsedRange;
  3. int usedRowCount = usedRange.RowCount, usedColumnCount = usedRange.ColumnCount;
  4. sheet1.RowCount = usedRowCount;
  5. sheet1.ColumnCount = usedColumnCount;
复制代码


回复 使用道具 举报
zzz123
注册会员   /  发表于:2023-3-10 09:42:34
3#
导入后spread的格式就变了,有没有办法保留之前的格式呢?
回复 使用道具 举报
Richard.Ma讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2023-3-10 10:56:47
4#
这个是因为你在代码中添加了这个flag,不要添加就行


image.png727000732.png
回复 使用道具 举报
zzz123
注册会员   /  发表于:2023-3-10 17:53:33
5#
image.png836822814.png 没有这个属性呀
回复 使用道具 举报
Richard.Ma讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2023-3-11 14:04:02
7#
嗯,这个也没有问题
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部