• Stars
    star
    191
  • Rank 202,877 (Top 4 %)
  • Language
    Objective-C
  • License
    MIT License
  • Created over 6 years ago
  • Updated almost 5 years ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

打造类似excel表的展示控件

YWExcel

打造类似excel表的展示控件

注意: 支持头部刷新以及单元格点击事件等更高级功能,请移步至https://github.com/flyOfYW/YWTableExcel

采用UITableView和UIScrollView嵌套使用来实现Excel、课程表、上下左右联动效果。

在项目中遇到了许多报表,虽然目前只是一个简单的展示,可以用tableView单元格显示,满足目前的需求,但是我仔细考虑了,能不能实现类似Excel表那样展示,既可以左右滑动,又可以上下滑动,当时找了许多资料,也找了许多国外网站的资料,却找不到这样类似的开源项目,最终我决定自己去实现一个类似Excel的控件(# YWExcel )

兼容性

1、兼容横屏和竖屏 2、iOS8以上

集成方法:

1. 把YWExcel这个文件夹拖到项目中.

2. 使用cocoapods:

   pod 'YWExcel'

效果图

效果图.gif

整体描述图

图.png

1、红色部分为:UITableView

2 蓝色部分:UITableViewCell

3 黄色部分:UISrollView

4 类目那一行:目前设置2个模式

1)作为独立tableView之上的view

2)作为tableView的组头View

设置联动的思路

在 -(void)scrollViewDidScroll:(UIScrollView *)scrollView 监听偏移量,去改变其他scrollView的偏移量(采用通知中心)

类似tableView的用法

@protocol YWExcelViewDataSource<NSObject>
@required
//多少行
- (NSInteger)excelView:(YWExcelView *)excelView numberOfRowsInSection:(NSInteger)section;
//多少列
- (NSInteger)itemOfRow:(YWExcelView *)excelView;
@optional
- (void)excelView:(YWExcelView *)excelView label:(UILabel *)label textAtIndexPath:(YWIndexPath *)indexPath;
- (void)excelView:(YWExcelView *)excelView headView:(UILabel *)label textAtIndexPath:(YWIndexPath *)indexPath;
//分组
- (NSInteger)numberOfSectionsInExcelView:(YWExcelView *)excelView;
@end

@protocol YWExcelViewDelegate <NSObject>


@optional

//自定义每列的宽度/默认每列的宽度为80
- (NSArray *)widthForItemOnExcelView:(YWExcelView *)excelView;

@end

样式选择

typedef NS_ENUM(NSInteger, YWExcelViewStyle) {
    YWExcelViewStyleDefalut = 0,//整体表格滑动,上下、左右均可滑动(除第一列不能左右滑动以及头部View不能上下滑动外)
    YWExcelViewStylePlain,//整体表格滑动,上下、左右均可滑动(除第一行不能上下滑动以及头部View不能上下滑动外)
    YWExcelViewStyleheadPlain,//整体表格(包括头部View)滑动,上下、左右均可滑动(除第一列不能左右滑动外)
    YWExcelViewStyleheadScrollView,//整体表格(包括头部View)滑动,上下、左右均可滑动
};