Run a large batch of Word and Excel files through the tool and collect all review or audit comments into a single SQLite table.
Reuse the Excel ghost-row circuit breaker pattern in another Qt or C++ project that processes user-provided spreadsheets.
Study how QtConcurrent plus a background thread keeps a Qt 6 window responsive while parsing thousands of Office files.
Apply the INSERT OR IGNORE plus rule15 regex cleanup approach as a template for any deduplicated text-ingest pipeline.
Needs Visual Studio 2022 plus a configured Qt 6 MSVC kit; the README still contains a Git merge conflict marker, so docs are rough.
OpinionViewer, also called ReviewOpinionTools, is a Windows desktop program written in C++ for pulling review comments out of large piles of Word and Excel documents. The README, which is mostly in Chinese, describes it as a tool for people who routinely have to scan hundreds or thousands of files in mixed formats (doc, docx, xls, xlsx, txt) and extract the bits that count as feedback or audit opinions. The program is built with Qt 6 for its window and table interface, and uses the Windows COM and OLE interfaces to talk to Office files. The README is unusually focused on the failure modes the author wanted to avoid. One is the Excel ghost-row problem, where a spreadsheet visibly has fifty rows but Excel internally reports it as a million, which can send a naive parser into a near-infinite loop. Another is the main thread freezing because too much work is done in the user interface code, leaving the window unresponsive. A third is memory fragmentation when running through huge batches, which can cause crashes. To deal with these, the project uses a concurrent parsing approach based on QtConcurrent, plus what the author calls a circuit-breaker layer that bails out fast when an Excel UsedRange looks impossibly large. Results are stored in a local SQLite database using INSERT OR IGNORE so that re-running the tool over the same files does not produce duplicates. A regex pass called rule15 cleans up extra whitespace and stray characters before insert. To build it, you open the Visual Studio 2022 solution file, make sure a Qt MSVC compiler kit is configured, and build in Release mode. The README notes a dark visual theme and a hover tooltip for previewing rows. The code is released under the MIT license. The repository is small, recently created, and the README still contains a leftover Git merge conflict marker, so the documentation itself is a snapshot of work in progress rather than a polished release.
Generated 2026-05-22 · Model: sonnet-4-6 · Verify against the repo before relying on details.