From 925a58b37d4ca511f350151fef12d086db7c161c Mon Sep 17 00:00:00 2001 From: Jan Marvin Garbuszus Date: Sun, 26 Jan 2025 21:16:17 +0100 Subject: [PATCH] [write] No cc_out (#1251) * [write] remove cc_out * [misc] update NEWS --- NEWS.md | 3 +++ R/class-sheet-data.R | 3 --- R/class-workbook.R | 8 ++++---- src/write_file.cpp | 2 +- 4 files changed, 8 insertions(+), 8 deletions(-) diff --git a/NEWS.md b/NEWS.md index d407c4fd4..6250b496d 100644 --- a/NEWS.md +++ b/NEWS.md @@ -15,8 +15,11 @@ ## Internal changes * Update of internal pugixml library +* Switch to `f_attr` to handle more formula attributes +* Remove the use of `cc_out` when writing output files ## Breaking changes + * Style helpers will accept colors only if provided via `wb_color()`. This broke a single example case that was still using `c(rgb = "FF808080")` this can be converted to `wb_color(hex = "FF808080")`. diff --git a/R/class-sheet-data.R b/R/class-sheet-data.R index 55adebc9c..792234b06 100644 --- a/R/class-sheet-data.R +++ b/R/class-sheet-data.R @@ -15,9 +15,6 @@ wbSheetData <- R6::R6Class( #' @field cc cc cc = NULL, - #' @field cc_out cc_out - cc_out = NULL, - #' @description #' Creates a new `wbSheetData` object #' @return a `wbSheetData` object diff --git a/R/class-workbook.R b/R/class-workbook.R index 01ad3b43c..cf48990b8 100644 --- a/R/class-workbook.R +++ b/R/class-workbook.R @@ -9790,7 +9790,6 @@ wbWorkbook <- R6::R6Class( cc <- ws$sheet_data$cc - if (!is.null(cc)) { cc$r <- stringi::stri_join(cc$c_r, cc$row_r) # prepare data for output @@ -9803,12 +9802,13 @@ wbWorkbook <- R6::R6Class( ws$sheet_data$row_attr <- rows_attr[order(as.numeric(rows_attr[, "r"])), ] cc_rows <- ws$sheet_data$row_attr$r - cc_out <- cc[cc$row_r %in% cc_rows, c("row_r", "c_r", "r", "v", "c_t", "c_s", "c_cm", "c_ph", "c_vm", "f", "f_attr", "is")] + # c("row_r", "c_r", "r", "v", "c_t", "c_s", "c_cm", "c_ph", "c_vm", "f", "f_attr", "is") + cc <- cc[cc$row_r %in% cc_rows, ] - ws$sheet_data$cc_out <- cc_out[order(as.integer(cc_out[, "row_r"]), col2int(cc_out[, "c_r"])), ] + ws$sheet_data$cc <- cc[order(as.integer(cc[, "row_r"]), col2int(cc[, "c_r"])), ] } else { ws$sheet_data$row_attr <- NULL - ws$sheet_data$cc_out <- NULL + ws$sheet_data$cc <- NULL } # create entire sheet prior to writing it diff --git a/src/write_file.cpp b/src/write_file.cpp index 35751c12e..cbb728b63 100644 --- a/src/write_file.cpp +++ b/src/write_file.cpp @@ -204,7 +204,7 @@ XPtrXML write_worksheet(std::string prior, std::string post, Rcpp::Environment s // sheet_data will be in order, just need to check for row_heights // CharacterVector cell_col = int_to_col(sheet_data.field("cols")); Rcpp::DataFrame row_attr = Rcpp::as(sheet_data["row_attr"]); - Rcpp::DataFrame cc = Rcpp::as(sheet_data["cc_out"]); + Rcpp::DataFrame cc = Rcpp::as(sheet_data["cc"]); xmldoc* doc = new xmldoc; pugi::xml_parse_result result;