找了2篇文章 http://www.opendigg.com/p/excelview
http://www.open-open.com/lib/view/open1452176613511.html
项目简介
ExcelView
IOS表格自定义视图,支持XIB布局,支持代码布局,支持锁双向表头。
效果展示
API使用说明
self.leftTableDataArray=(NSMutableArray *)@[@"塔城",@"哈密",@"和田",@"阿勒泰",@"克州"];
self.rightTableHeadArray=(NSMutableArray *)@[@"当日收入(万)",@"同比",@"环比",@"当月收入(万)",@"同比",@"环比",@"当年收入(万)",@"同比",@"环比"];
self.excelDataArray=(NSMutableArray *)@[@[@"2.9",@"2%",@"3%",@"3.0",@"4%",@"5%",@"18",@"4.5%",@"6.8%"],@[@"2.9",@"2%",@"3%",@"3.0",@"4%",@"5%",@"18",@"4.5%",@"6.8%"],@[@"2.9",@"2%",@"3%",@"3.0",@"4%",@"5%",@"18",@"4.5%",@"6.8%"],@[@"2.9",@"2%",@"3%",@"3.0",@"4%",@"5%",@"18",@"4.5%",@"6.8%"],@[@"2.9",@"2%",@"3%",@"3.0",@"4%",@"5%",@"18",@"4.5%",@"6.8%"]];
self.allTableDataArray=(NSMutableArray *)@[@[@"地区",@"当日收入(万)",@"同比",@"环比",@"当月收入(万)",@"同比",@"环比",@"当年收入(万)",@"同比",@"环比"],@[@"塔城",@"2.91111111111111111",@"2%",@"3%",@"3.0",@"4%",@"5%",@"18",@"4.5%",@"6.8%"],@[@"哈密",@"2.9",@"2%",@"3%",@"3.0",@"4%",@"5%",@"18",@"4.5%",@"6.8%"],@[@"和田",@"2.9",@"2%",@"3%",@"3.0",@"4%",@"5%",@"18",@"4.5%",@"6.8%"],@[@"阿勒泰",@"2.9",@"2%",@"3%",@"3.0",@"4111111111111111111",@"5%",@"18",@"4.5%",@"6.8%"],@[@"克州",@"2.9",@"2%",@"3%",@"3.0",@"4%",@"5%",@"18",@"4.5%",@"6.8%"]];
//代码方式添加
ExcelView *excelView=[[ExcelView alloc]initWithFrame:CGRectMake(0, 280, UIScreenWidth, 270)];
excelView.topTableHeadDatas=self.rightTableHeadArray;
excelView.leftTabHeadDatas=self.leftTableDataArray;
excelView.tableDatas=self.excelDataArray;
excelView.isLockFristColumn=YES;
excelView.isLockFristRow=YES;
excelView.isColumnTitlte=YES;
excelView.columnTitlte=@"地区";
[excelView show];
[self.view addSubview:excelView];
//xib布局添加方式
self.mExcelView.allTableDatas=self.allTableDataArray;
self.mExcelView.isLockFristColumn=YES;
self.mExcelView.isLockFristRow=YES;
self.mExcelView.isColumnTitlte=YES;
self.mExcelView.columnTitlte=@"地区";
self.mExcelView.columnMaxWidth=200;
self.mExcelView.columnMinWidth=100;
[self.mExcelView showWithLeftBlock:^(CGPoint contentOffset) {
NSLog(@"滚动到了最左侧!");
NSLog(@"偏移量:%f",contentOffset.x);
} AndWithRigthBlock:^(CGPoint contentOffset) {
NSLog(@"滚动到了最右侧!");
NSLog(@"偏移量:%f",contentOffset.x);
}];
目前支持可自定义属性
/**
是否锁定第一列
*/
@property BOOL isLockFristColumn;
/**
是否锁定第一行
*/
@property BOOL isLockFristRow;
/**
是否存在第一列列标题
*/
@property BOOL isColumnTitlte;
/**
列标题名称(表格左上角数据)
*/
@property(nonatomic,copy) NSString *columnTitlte;
/**
第一行表头数据(不包括表格左上角数据,只接收字符串)
*/
@property(nonatomic,retain) NSMutableArray *topTableHeadDatas;
/**
第一列表头数据(不包括表格左上角数据,只接收字符串)
*/
@property(nonatomic,retain) NSMutableArray *leftTabHeadDatas;
/**
表格数据(2维数组,不包括第一列和第一行数据,只接收字符串,例:@[@[],@[],....])
*/
@property(nonatomic,retain) NSMutableArray *tableDatas;
/**
表格数据(2维数组,每一行为一个子单元,只接受字符串,例:@[@[],@[],....]
设置该属性之后,columnTitlte、topTableHeadDatas、leftTabHeadDatas、tableDatas将被重置。
*/
@property(nonatomic,retain) NSMutableArray *allTableDatas;
/**
设置字体
*/
@property(nonatomic,retain) UIFont *textFont;
/**
第一行背景颜色
*/
@property(nonatomic,retain) UIColor *fristRowBackGround;
/**
列最大宽度
*/
@property(nonatomic) CGFloat columnMaxWidth;
/**
列最小宽度
*/
@property(nonatomic) CGFloat columnMinWidth;
/**
显示,必须调用该方法,视图才会展现
*/
-(void)show;
/**
滚动视图滑动到最左侧的Block
*/
@property(nonatomic,copy) ScrollViewToLeftBlock mLeftblock;
/**
滚动视图滑动到最右侧的Block
*/
@property(nonatomic,copy) ScrollViewToRightBlock mRightblock;
/**
显示,并加入滚动视图监听回调
@param leftblock 滚动视图滑动到最左侧的Block
@param rightblock 滚动视图滑动到最右侧的Block
*/
-(void)showWithLeftBlock:(ScrollViewToLeftBlock)leftblock AndWithRigthBlock:(ScrollViewToRightBlock) rightblock;
使用说明
直接复制项目根目录里ExcelView文件夹到你的项目中在需要用的地方引入 #import "ExcelView.h" 头文件,或者直接在PCH文件中引入
ZFExcelChart
简单的数据展示图表,类似Excel那样分类分级统计数据,并可上下左右滑动查看数据
效果演示: