Tag: 数字格式

快速设置使用Excel对象的数字格式

我写了12000条logging,作为生产报告,有46列,写入excel文件。 充满数据时不显示工作表。 先前的StackOverflow信息教会了我使用对象数组将数值放在速度范围内。 我曾希望这也可以用于格式化值。 代码片段: objExcel.Calculation = XlCalculation.xlCalculationManual objExcel.ScreenUpdating = False dcel = objWS.Range(objWS.Cells(rowdatastart, 1), objWS.Cells(rowdataend, nProdReportCol.ProdReportColCount – 2)) dcel.Value = aobj dcel.NumberFormat = bobj objExcel.ScreenUpdating = True objExcel.Calculation = XlCalculation.xlCalculationAutomatic aobj和bobj是符合范围的对象(,)数组。 bobj包含显示时间为“12:23a”的string,如“h:mma / p”,以及显示数字为“53/25”的“0.00”。 “dcel.value = aobj”需要半秒。 “dcel.NumberFormat = bobj”需要38秒。 对于我错过/误解的任何build议? 我宁愿7秒的报告(开始Excel,写,保存,closuresExcel)不花45秒,因为我希望数字/date/时间出现,因为我select。

当使用Excel的TEXT()函数时,如何创build一个数字代码让我留下填充空格(一个内置的“会计”代码)?

在Excel中,“会计”的典型数字格式代码是: _(* #,##0.00_);_(* (#,##0.00);_(* "-"??_);_(@_) 其中一个关键的方面是+; – ; 0中的“*” 组件,因为它正确的小数点附近的数字,模数一些调整为负面的parens。 而且这个正确的alignment方式对于用户随后改变单元的实际alignment方式是免疫的。 或者说,如果用户需要,用户可能会得到中心或左边的alignment,但是“*”填充足够的空间,以便将可见的数字推回到右侧,而不pipe用户做什么。 我想模拟使用TEXT()函数呈现为文本的数字行为,但我无法获得“*”的行为。 所以不是用上面的代码格式化有问题的单元格,而是简单地将单元格格式化为“常规”,并依赖于以下公式: =TEXT(<my-number-reference>, "_(* #,##0.00_);_(* (#,##0.00);_(* -??_);_(* @_)") 格式化string与前面的格式string是相同的,除了删除在;; 0;中短划线的引号。 零件。 它给了我string格式化的数字以我期望的方式, 除了 “*”方面。 左边填充空格似乎根本没有发生。 只是可用于TEXT()的数字代码只是单元格实际格式中可用的那些代码的子集? 还是我做错了什么? (我在当前和最新安装的Office365,以及在Mac和Windows上使用Excel。

在VBA中输出分数而不是十进制

我试图显示解决scheme在VBA中作为一个未减less的分数,但VBA自动评估方程为十进制。 有人知道如何保持它作为一个原始的分数? 我已经尝试将整数转换为string,然后将它们分开,但Excel仍然会自动将所有内容都转换为小数。 Dim workingmegawattsint As Integer workingmegawattsint = workingturbinesint * turbineCapacity Dim totalmegawattsint As Integer totalmegawattsint = totalturbinesint * turbineCapacity ThisWorkbook.Worksheets("Sheet1").Cells(1, 1).Value = workingmegawattsint / totalmegawattsint

我如何撤消或closures自动date转换?

当我将大量的数据粘贴到列中时,Excel会自动将其中的一些数据转换为date格式(例如0.01 – > 01.jan),如果将其格式化为常规数字,则会是天数,到2017年1月1日 我怎样才能撤销或closures它?

NumberFormat的作品,但价值观仍然不同

我正在使用C#在Excel-2007中执行任务。 我有下面的代码 object mis = Type.Missing; Excel.Workbook wb = (Excel.Workbook)Globals.ThisAddIn.GetActiveWorkbook(); Excel.Worksheet ws = (Excel.Worksheet)wb.Worksheets.Add(mis, mis, mis, mis); Excel.Range range = (Excel.Range)ws.get_Range("A1", "HM232"); range.Formula = "Sheet4!A1:HM232*0.56+Sheet5!A1:HM232*0.45"; range.NumberFormat = "0"; 它正确地显示所有的单元格作为整数十进制数字没有任何小数点…但如果我要求的价值在说单元格G5我看到1,但是当我做以下 MsgBox Range("G5").Value2 它显示我0.933333222,你是如何使Value2也被改变的值四舍五入?

用OleDB读取Excel文件以错误的格式返回UPC号码

我必须在Web应用程序中使用OleDB读取Excel文件,并将数据保存到数据库中。 访问文件并使用DataAdapter或OleDbDataReader读取它的作品。 我需要指定IMEX = 1和TypeGuessRows = 0,因为文件中的数据有我需要parsing的标题,但它们不在第一行。 所以基本上,我需要读取行,直到我打一个已知的标题,然后开始parsing所有的数据。 在第一列中有这样的值的UPC号码: 5053366261702但即使字段被读取为文本,OleDbDataReader以科学方式返回数字,如下所示: 5.05337E+12 如果我不以文本forms读取这些行,数字将被正确地返回,但标题将会消失。 我添加了代码的重要部分。 在此先感谢您的帮助。 string conn = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source='" + fileName + "';Extended Properties='Excel 12.0;HDR=No;IMEX=1;ImportMixedTypes=Text;TypeGuessRows=0'"; using (OleDbConnection objConn = new OleDbConnection(conn)) { objConn.Open(); var exceltables = objConn.GetOleDbSchemaTable(System.Data.OleDb.OleDbSchemaGuid.Tables, new Object[] { null, null, null, "TABLE" }); var tablename = exceltables.Rows[0]["TABLE_NAME"]; using (OleDbCommand objCmdSelect = new OleDbCommand("SELECT […]

Excel公式不起作用 – 不识别数字

我在Excel电子表格上粘贴了一些数字,并想用它做一些计算。 问题是Excel不识别数字。 我已经尝试了几种方法将它们转换成数字,它们都不起作用:粘贴/特殊乘以1; 格式化每个单元格的数量/科学数字格式。 而且在每个单元格的右上angular也没有错误信息,就像我在互联网上看到的那样,表示有一个写成文本的数字。 如果我重新键入每个数字,Excel会识别它。 为了确保这个问题真的是数字被Excel理解为文本,我尝试了函数ISNUMBER(),返回FALSE和ISTEXT()返回true。 我想知道如何解决这个问题,而不必input每个单元格。 PS。 数字为科学数字格式,即1,085859E + 001

数字格式化为文本,同时将剑道网格导出为ex​​cel

我正在使用Kendo Grid,我需要导出到Excel。 为了在网格中显示,我设置格式:“{0:n2}”以正确的格式显示数字。 但是,当我导出这个列导出为数字格式为文本。 导出时,我想保留我的列仅作为数字,而不是文本,所以我可以在Excel中执行sum和avg。 有什么build议么?

Excel自定义数字格式的复杂条件

我需要如下: 我的数字除以1000,四舍五入,括号内为负数,零为“ – ”: 1500 -> 2 499 -> – 0 -> – -499 -> – -1500 -> (2) 我无法find如何将值[-499; 499]转换为“ – ”,其他一切都很好。 目前(简体)我有这样的smthth: "#,##0, ;(#,##0,);- " 它显示我的号码为: 1500 -> 2 499 -> 0 (I need "-" here) 0 -> – -499 -> (0)(I need "-" here) -1500 -> (2) 有任何想法吗? 谢谢!

如何在Excel中格式化多行数字单元格?

给定一个具有多行(文本换行)的Excel单元格。 例如 5501.700 640.8690 1081.45600 41.100 我想格式化所有的数字( 在这个单元格 )有2个小数位和千位分隔符。 我有什么select来完成这项任务?