Tag: 格式化

R:使用openxlsx将数据导出为“文本”

我正在尝试使用openxlsx (或xlsx或其他软件包)来导出dataframe来优化电子表格。 我有一个问题是我想设置某些SEPT16 -> 16-Sep “文本”,而不是“一般”,因为Excel有自动格式化基因名称(即SEPT16 -> 16-Sep (date格式))的趋势。 openxlsx文档提供了一些设置列类为“货币”,“会计”,“超链接”,“百分比”或“科学”,但不是明确的“文本”的例子。 我已经尝试将类设置为“文本”或“字符”,但输出Excel列仍然是“一般”。 最初,正确的文本在那里,但如果我在单元格中编辑任何东西,Excel会自动格式化这些单元格。 library(openxlsx) df <- data.frame(gene = c("SEPT16", "MARCH10", "GATA4"), pvalue = c(0.0123, 0.2315, 0.00001), stringsAsFactors = FALSE) class(df$gene) <- "text" # Doesn't work class(df$pvalue) <- "scientific" wb <- openxlsx::createWorkbook() sheet <- openxlsx::addWorksheet(wb, "test") openxlsx::writeDataTable(wb = wb, sheet = "test", x = df) openxlsx::saveWorkbook(wb, "example_table.xlsx")

CSVdate和分隔符问题

我有一个CSV文件,用逗号分隔,里面有一些date值,比如"01/13/2010 05:00:00 AM"或"04/01/2010 05:00:00 AM" 。 问题是,当我用Microsoft Excel打开CSV文件时,它将分别显示为01/13/2010 05:00:00 AM和04/01/2010 05:00 。 第二个值是04/01/2010 05:00:00 ,但仍显示04/01/2010 05:00 。 我做了一些testing,我意识到Excel无法确定哪一天是哪一天,哪几天是几个月。 事实上,Excel获取的string如下所示: __/__/____ __:__:__ __ 它从最后两个字符(AM / PM)中推断出小时的值,它知道分秒是什么,也就是确定了四字符长序列的年份,所以问题是关于月和天。 如果string中的第一个和第二个数字都是<= 12,那么它就不能确定哪个是哪个月份,哪个是年份,所以它弄乱了我的date格式。 我想有一个date格式如 MM/dd/yyyy HH:mm:ss AM/PM 我发现使用名为TEXT的函数可以做到这一点,就像这样: =TEXT("04/13/2010 05:54:00 AM", "MM/dd/yyyy HH:mm:ss AM/PM") 它像一个魅力,但它仍然猜测哪一天是哪一天,哪一天是月份。 但是,假设客户端将具有与CSV中的数据相同的默认date格式,则不会反转月份和date。 但是,我不想打开Excel并在其中键入公式,因为我需要将此文件提供给客户端,并且每当打开文件时都应该显示正确的值。 所以,我需要在逗号分隔的文件中写公式,但是… TEXT是二维的,并有一个逗号分隔我的date和我的格式。 如果我input: = ABS(-5),=TEXT("04/13/2010 05:54:00 AM", "MM/dd/yyyy HH:mm:ss AM/PM") 进入我的文件,我会看到3个单元格,第一个是5 ,第二个是=TEXT("04/13/2010 05:54:00 AM" […]

R / Excel:领先的零

我正在尝试使用xlsx和XLConnect包将Excel 2010工作簿文件中的工作表读入到R中。 尽pipe将工作表中的单元格格式化为“文本”,但两者都将邮政编码列上的前导零删除。 wb <- loadWorkbook('c:/~/file1.xlsx') sheetNames <- getSheets(wb) for(i in 1:length(sheetNames)){ # i = 2 #dat1 <- read.xlsx('c:/~/file1.xlsx', sheetNames[i], as.data.frame = T) dat1 <- readWorksheetFromFile('c:/~/file1.xlsx', sheetNames[i]) } 有没有人有如何处理这个问题的build议?

基于大于/小于相邻单元格/列的excel条件格式

嘿在那里,我试图让Column E突出显示绿色时, Column F>0.59 ,我已经通读了如何做到这一点,但我的问题是,我的电子表格接近60条目长约30套数据水平。 所以我想弄清楚我的规则是什么,所以我可以一次做多行。 任何帮助是极大的赞赏 上面的链接显示了我试过的不同的选项,不工作

C#访问EXCEL,格式化一般的单元格

C#,Visual Studio 2010 当在C#中操作Excel单元格(通过COM对象)时,我应该使用.Value还是.Value2? 那是 sheet.Cells[row + n, col].Value = "Hello world" 要么 sheet.Cells[row + n, col].Value2 = "Hello world" 他们之间有什么不同? 另外,如何将单元格格式设置为“常规”? sheet.Cells[row + n, col].NumberFormat = "XYZ"; // Not sure what should be here 现在,当我分配一个数字“0,34”的单元格,即使我这样做 sheet.Cells[row + n, col].NumberFormat = "@"; 我在每个单元格的左上angular出现这个“小错误”

如何使Excel不截断0格式化十进制数字?

假设我在记事本中有以下随机数字: 1.19 0.040 10.1123 23.110 21.223 2.35456 4.0 10234.0009 456798.7500 123 34.560 40060 33.7876 如果我复制上面的数字并将其粘贴到Excel中,则数字格式将更改为此 1.19 0.04 10.1123 23.11 21.223 2.35456 4 10234.0009 456798.75 123 34.56 40060 33.7876 我打算复制粘贴数字而不更改其原始格式,例如: 0.040保持0.040,而不是0.04; 4.0保持4.0,而不是4; 456798.7500保持456798.7500,而不是456798.75; 等等。 我知道我可以使用条件格式 If condition_1 Then Cells(…).NumberFormat = "0.00" ElseIf condition_2 Then Cells(…).NumberFormat = "0.000" … Else result_else End If 或使用Select … Case Statement […]

如何获得一个负格的实际颜色?

我的一些单元格格式为#,##0;[Red](#,##0) ,使负数显示为红色。 我想将内容和格式复制到PowerPoint中。 如何识别单元格显示的颜色,以便我可以复制可见的外观? 我不想重新实现parsing格式的逻辑,如果我不需要,也可以做出否定的决定,因为不是所有的单元格都将被格式化。 如果我不能通过在VBA中明确设置颜色来实现,是否可以使用复制和粘贴方法将Excel中的单元格复制到PowerPoint中表格中的单元格中? 其实这会比做手工更好 – 我已经尝试过,但我不能在什么对象的嵌套级别做粘贴。 我发现如何粘贴Excel范围作为一个新表,但没有粘贴单个单元格与格式化到现有的PowerPoint表引用大量的参考。 在TextRange级别粘贴不会粘贴颜色,但会粘贴其他设置(如粗体)。

导入Excel到Matlab没有数字数据出现在科学记数法

我的问题是有经验的Matlab用户希望是一个简单的问题。 如何将数据导入到Matlab,而无需Matlab自动将数字数据转换为科学记数法? 我正在使用的数据是身份证号码,长达12位数字,所以我需要看到(例如) 30094111063 并不是 3.0094e + 10 否则Matlab混淆了类似的ID号码,例如30094111063和30094111742,后面在代码中作为“匹配”,因为它们都显示为3.0094e + 10。 我迄今试过的东西没有成功:xlsread,uiopen,sscanf。 我也看到了StackOverflow上非常类似的问题的答案,但是对于Access,R,Python等而不是Matlab,所以希望这对未来的用户有用。 谢谢! 编辑:这是我正在使用的代码的一个例子: A = xlsread('test1974.xlsx'); B = xlsread('test1975.xlsx'); adj = zeros(N,N); for i=1:N; for j=1:N; if A(i,:) == B(:,j) adj(i,j) = 1; else adj(i,j) = 0; end; end; end; 代码正在创buildA和B之间的“假阳性”匹配。

Excel – 在结果中转换文本

我正在寻找一些提示,将我在单元格中的结果从文本转换为长文本。 在单元格A1中,我有:“8天5小时10分钟”在单元格B1中,我有:“8 * 86400 + 5 * 3600 + 10 * 60”,我有一些“replace”的function 这里是函数:“”= SUBSTITUE(SUBSTITUE(SUBSTITUE(SUBSTITUE(A1;“days”;“* 86400”);“hours”;“* 3600”);“minutes”;“* 60”); ; “+”) “” 在单元格C1我想要的结果 我的问题是我需要这个“8 * 86400 + 5 * 3600 + 10 * 60”为“709800”,我找不到一个方法来达到它。 我认为这是关于格式化我的细胞,但我尝试了一切,它没有奏效。 我敢打赌,我尝试了所有的Excelfunction… 我实际上卡住了,寻找一些好的想法。 感谢您的帮助或build议! File_picture

突出显示相邻单元格在其旁边单元格中find的date后的十个工作日(不含节假日)

我一直试图用这个条件格式来解决这个问题,现在几天没有用 我已经这样做了,每次input“文件编号”时,灰色右边的单元格显示在dd-Mmm-yy中input的date(例如,文件编号是C8dateinputD8)。 现在我需要的是一个macros或条件格式,将突出显示“运动”(B,E …)和“FILE NUMBER”(C,F …)从相应的灰色单元格(D,G,J …)中input的起始date过去。 我想用WORKDAY,但是单元格是随机填写的,所以我不知道开始date是什么。 这不是一个持续时间的项目。 我想今天使用,但不包括工作日。 请帮忙! 谢谢!