mirror of
https://github.com/redstrate/Physis.git
synced 2025-05-03 17:27:46 +00:00
Add EXD::get_row function
This commit is contained in:
parent
257f286990
commit
5efa3c9663
1 changed files with 13 additions and 3 deletions
16
src/exd.rs
16
src/exd.rs
|
@ -185,7 +185,7 @@ pub struct EXD {
|
|||
pub rows: Vec<ExcelRow>,
|
||||
}
|
||||
|
||||
#[derive(Debug)]
|
||||
#[derive(Debug, Clone)]
|
||||
pub enum ColumnData {
|
||||
String(String),
|
||||
Bool(bool),
|
||||
|
@ -200,12 +200,12 @@ pub enum ColumnData {
|
|||
UInt64(u64),
|
||||
}
|
||||
|
||||
#[derive(Debug)]
|
||||
#[derive(Debug, Clone)]
|
||||
pub struct ExcelSingleRow {
|
||||
pub columns: Vec<ColumnData>,
|
||||
}
|
||||
|
||||
#[derive(Debug)]
|
||||
#[derive(Debug, Clone)]
|
||||
pub enum ExcelRowKind {
|
||||
SingleRow(ExcelSingleRow),
|
||||
SubRows(Vec<ExcelSingleRow>),
|
||||
|
@ -222,6 +222,16 @@ impl EXD {
|
|||
EXD::read_args(&mut Cursor::new(&buffer), (exh,)).ok()
|
||||
}
|
||||
|
||||
pub fn get_row(&self, row_id: u32) -> Option<ExcelRowKind> {
|
||||
for row in &self.rows {
|
||||
if row.row_id == row_id {
|
||||
return Some(row.kind.clone());
|
||||
}
|
||||
}
|
||||
|
||||
return None;
|
||||
}
|
||||
|
||||
fn read_data_raw<T: Read + Seek, Z: BinRead<Args<'static> = ()>>(cursor: &mut T) -> Option<Z> {
|
||||
Z::read_options(cursor, Endian::Big, ()).ok()
|
||||
}
|
||||
|
|
Loading…
Add table
Reference in a new issue