c# - 如何将特定的excel范围导入datagridview
问题描述
我想使用 GemBox 将 excel 文件导入 datagridview。我对 GemBox 相当陌生,我似乎无法弄清楚如何。我只想从单元格“A9”导入到单元格“H32”。
var workbook = ExcelFile.Load(openFileDialog.FileName);
DataGridViewConverter.ExportToDataGridView(workbook.Worksheets.ActiveWorksheet, this.dgvMain, new ExportToDataGridViewOptions() { ColumnHeaders = true });
谢谢!
解决方案
以下是导入特定单元格的方法:
var workbook = ExcelFile.Load(openFileDialog.FileName);
var worksheet = workbook.Worksheets.ActiveWorksheet;
var options = new ExportToDataGridViewOptions();
options.ColumnHeaders = true;
options.StartRow = 8; // Start from row 9, index 8.
options.NumberOfRows = 24; // End with row 32.
options.StartColumn = 0; // start with column A, index 0.
options.NumberOfColumns = 8; // End with column H.
DataGridViewConverter.ExportToDataGridView(worksheet, this.dgvMain, options);
这里还有另一种方式,你可以通过使用CellRange
对象的属性来指定相同的内容:
var workbook = ExcelFile.Load(openFileDialog.FileName);
var worksheet = workbook.Worksheets.ActiveWorksheet;
var range = worksheet.Cells.GetSubrange("A9:H32");
var options = new ExportToDataGridViewOptions();
options.ColumnHeaders = true;
options.StartRow = range.FirstRowIndex;
options.NumberOfRows = range.Height;
options.StartColumn = range.FirstColumnIndex;
options.NumberOfColumns = range.Width;
DataGridViewConverter.ExportToDataGridView(worksheet, this.dgvMain, options);
推荐阅读
- amp-html - 如何为 amp-wistia-player 设置视频启动时播放的音频
- apache-spark - Spark Join 最佳匹配效率问题
- c - 为 Linux 命令创建多级管道
- android - 如何避免持久化资源整数的不良做法(R.drawable.resource)
- python - 以管理员身份运行时如何打开第二个 spyder 控制台?
- sql - Ordering an alias column in union query
- jenkins - Jenkins Confluence plublisher 插件使用
- ios13 - 推送到新的 UIViewController 时,iOS 13 上的 UIAppearance 修饰符被忽略
- scala - Double 最大值的无效字符串到 Double 转换
- sql-server - MSSQL 2016 导入后重新洗牌数据