Comments (2)
Sorry, I haven't added that feature yet. I'll add it to the TODO list, or you're welcome to submit a PR. It should be fairly straight forward, you can see how tables are created in AddTable
from unioffice.
Hi,
Thanks for your response. I add some code as follow.
- document.go
func (d *Document) Tables() []Table {
ret := []Table{}
if d.x.Body == nil {
return nil
}
for _,ble := range d.x.Body.EG_BlockLevelElts {
for _, c := range ble.EG_ContentBlockContent {
for _, t := range c.Tbl {
ret = append(ret, Table{d, t})
}
}
}
return ret
}
- table.go
func (t Table) Rows() []Row {
ret := []Row{}
for _, rc := range t.x.EG_ContentRowContent {
for _, ctRow := range rc.Tr {
ret = append(ret, Row{t.d, ctRow})
}
}
return ret
}
- row.go
func (r Row) Cells() []Cell {
ret := []Cell{}
for _, cc := range r.x.EG_ContentCellContent {
for _, ctCell := range cc.Tc {
ret = append(ret, Cell{r.d,ctCell})
}
}
return ret
}
- cell.go
func (c Cell) Paragraphs() []Paragraph {
ret := []Paragraph{}
for _, ble := range c.x.EG_BlockLevelElts {
for _, cbc := range ble.EG_ContentBlockContent {
for _, p := range cbc.P {
ret = append(ret, Paragraph{c.d, p})
}
}
}
return ret
}
At last I can iterate table's contents
for _, tbl := range doc.Tables() {
for _, row := range tbl.Rows() {
for _, cell := range row.Cells() {
for _, p := range cell.Paragraphs() {
for _, r := range p.Runs() {
fmt.Println(r.Text())
}
}
}
}
}
from unioffice.
Related Issues (20)
- Could not extract information (text, table, image, ...etc) from a .doc file HOT 1
- License error text is confusing HOT 6
- Is this still Open Source software? HOT 1
- Cannot insert table correctly HOT 3
- Feature request: Animations for PowerPoint HOT 1
- nil pointer when convert docx to pdf HOT 9
- Runtime error extracting text from Word document HOT 3
- No text in document after converting a Word document to PDF HOT 3
- How to split a run and/or paragraph while preserving styling HOT 3
- No text extracted from PowerPoint file HOT 2
- how to get the real content contained in the specified bookmark HOT 2
- AppProperties.Pages() doesn't always return the correct number of pages HOT 2
- Convert `.docx` to `.pdf` misses images HOT 2
- How to get the page size for a Word doc? HOT 7
- is there support for adding a comment to a word doc? HOT 1
- Unit tests? HOT 2
- Why do proofreading errors occur HOT 5
- panic: runtime error: index out of range [0] with length 0 while converting docx to pdf HOT 1
- May I ask if there is an implementation for inserting chart elements into pptx? HOT 1
- How to insert a table at a specified location in a word document HOT 2
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from unioffice.