摘要: chatGPT注册图文教程,亲测有效 前置条件: 1、 能FQ。因为chatGPT暂时不对中国开放,如果不会FQ的请自行搜索“网络代理、v2rayN、VPN代理”等关键词,本文不提供相关教程。 2、 有国外的手机号用来接收验证码。如果没有可通过sms.bangboss.org注册一个国外虚拟手机号来接收验证码(收费服务,成本几块钱,介意 阅读全文
posted @ 2023-02-10 18:46 atao.xiang 阅读(1949) 评论(0) 推荐(1) 编辑
摘要: NPOI,顾名思义,就是POI的.NET版本。那POI又是什么呢?POI是一套用Java写成的库,能够帮助开发者在没有安装微软Office的情况下读写Office 97-2003的文件,支持的文件格式包括xls, doc, ppt等。在本文发布时,POI的最新版本是3.5 beta 6。 NPOI 1.x是基于POI 3.x版本开发的,与poi 3.2对应的版本是NPOI 1.2,目前最新发布的版本是1.2.1,在该版本中仅支持读写Excel文件和Drawing格式,其他文件格式将在以后的版本中得到支持。本系列是NPOI1.2的相关教程。 阅读全文
posted @ 2009-11-15 21:56 atao.xiang 阅读(37583) 评论(30) 推荐(22) 编辑

    有些时候,我们可能希望生成的Excel文件在被打开的时候自动将焦点定位在某个单元格或是选中某个区域中。在NPOI中可以通过SetAsActiveCell和SetActiveCellRange等几个方法实现。

首先我们看一下设置初始视图中选中某个单元格的方法:

//use HSSFCell.SetAsActiveCell() to select B6 as the active column
HSSFSheet sheet1 = hssfworkbook.CreateSheet("Sheet A");
CreateCellArray(sheet1);
sheet1.GetRow(
5).GetCell(1).SetAsActiveCell();
//set TopRow and LeftCol to make B6 the first cell in the visible area
sheet1.TopRow = 5;
sheet1.LeftCol 
= 1;

其中CreateCellArray(sheet1)方法用来写示范数据,其代码为(下同):

static void CreateCellArray(HSSFSheet sheet)
{
    
for (int i = 0; i < 300; i++)
    {
        HSSFRow row
=sheet.CreateRow(i);
        
for (int j = 0; j < 150; j++)
        {
            HSSFCell cell 
= row.CreateCell(j);
            cell.SetCellValue(i
*j);
        }
    }
}

生成的Excel打开时效果如下,注意B6为默认选中状态,TopRow和LeftCol设置B6为当前可见区域的第一个单元格:

如果不设置TopRow和LeftCol属性,默认的可见域的第一个单元格为A1,如下是另一种设置活动单元格的方法,但没有设置此Sheet的TopRow和LeftCol:

HSSFSheet sheet2 = hssfworkbook.CreateSheet("Sheet B");
sheet2.Sheet.SetActiveCell(
15);

对应生成的Excel显示为:

除了设置某个单元格为选中状态外,还NPOI可以设置某个区域为选中状态:

 

//use Sheet.SetActiveCellRange to select a cell range
HSSFSheet sheet3 = hssfworkbook.CreateSheet("Sheet C");
CreateCellArray(sheet3);
sheet3.Sheet.SetActiveCellRange(
2515);

以上代码设置了Sheet C的选中区域为B3:F6:

还有更强大的,设置多个选中区域:

//use Sheet.SetActiveCellRange to select multiple cell ranges
HSSFSheet sheet4 = hssfworkbook.CreateSheet("Sheet D");
CreateCellArray(sheet4);
List
<CellRangeAddress8Bit> cellranges = new List<CellRangeAddress8Bit>();
cellranges.Add(
new CellRangeAddress8Bit(1,3,2,5));
cellranges.Add(
new CellRangeAddress8Bit(6,7,8,9));
sheet4.Sheet.SetActiveCellRange(cellranges,
1,6,9);

如果一个Excel文件中有多个Sheet,还可以通过如下语句设置打开时的初始Sheet:

hssfworkbook.ActiveSheetIndex = 2;

 

返回目录

 

posted @ 2009-11-15 21:47 atao.xiang 阅读(15405) 评论(3) 推荐(1) 编辑
摘要: 在NPOI中,本身并不支持Chart等高级对象的创建,但通过l模板的方式可以巧妙地利用Excel强大的透视和图表功能,请看以下例子。 阅读全文
posted @ 2009-10-25 21:47 atao.xiang 阅读(17750) 评论(10) 推荐(3) 编辑
摘要:   在NPOI中,本身没有画Grid的方法。但我们知道Grid其实就是由横线和竖线构成的,所在我们可以通过画线的方式来模拟画Grid。 阅读全文
posted @ 2009-10-25 20:31 atao.xiang 阅读(7137) 评论(0) 推荐(2) 编辑
摘要: 前面我已经完成了整个Excel导入方案,那会什么还会有这篇呢?主要是因为功能完成后不久,又接到了新的需求,要求XML格式的数据也能够导入到我们现有的系统中。 阅读全文
posted @ 2009-10-24 21:57 atao.xiang 阅读(6449) 评论(6) 推荐(1) 编辑
摘要: 上一篇我们讲了Excel导入模板的生成,这一节我们将完成数据导入的功能。 阅读全文
posted @ 2009-10-24 21:01 atao.xiang 阅读(5743) 评论(1) 推荐(2) 编辑
摘要: 为了让系统能够识别待引入的Excel,用户提供的Excel必须满足一定格式上的要求。通常我们的做法是提供Excel模板让用户下载,然后用户往其中填入数据再提交给系统执行导入操作。本篇将主要介绍导入模板的生成。 阅读全文
posted @ 2009-10-24 12:22 atao.xiang 阅读(6367) 评论(0) 推荐(1) 编辑
摘要: 这一节我们学习Excel导入规则类的设计。 阅读全文
posted @ 2009-10-24 10:57 atao.xiang 阅读(8364) 评论(0) 推荐(0) 编辑
摘要: 在做应用系统时,为了方便批量录入数据或是做数据备份或转移,可能需要将Excel中的数据导入到现有系统中。实现Excel导入首先要读取Excel文件,本篇首先介绍几种常用的Excel读取方式以及本导入方法会采用的方式。 阅读全文
posted @ 2009-10-18 23:06 atao.xiang 阅读(11980) 评论(1) 推荐(2) 编辑
< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5
点击右上角即可分享
微信分享提示