Tag: 编码

Excel标准编码

我从SQL服务器获取数据。 我创build了一个长string,在新行的字段和换行符之间使用空格。 然后,我将string从iconv从windows-1255转换为UTF-8,并保存到一个文件test.xls。 当我在OpenOffice电子表格中打开文件时,如果selectUTF编码,表格将正确显示。 但在MS Excel中打开文件,字段显示正确,但希伯来文本不是。 我的问题是:在哪种编码,我应该保存在Excel中正确显示的文件?

使用ANSI编码在Excel 2010中打开Excel

我有ANSI编码(这是在Excel 97中生成)的Excel文件,但现在我需要与Excel 2010打开此文件,但似乎有开放ANSI编码的问题,因为而不是俄罗斯字符,我看到坏字符:(怎么可以我在Excel 2010中打开此文件?我试图通过记事本++将xls文件从ANSI转换为UTF-8,但它不能转换此文件:(

UnicodeEncodeError:'ascii'编解码器不能编码位置10-11中的字符:序号不在范围内(128)

我正在做一个脚本。 将search槽.xls文件并打印出条件为真的行的脚本。 对于那件事我没有任何疑问。 我这样做,但是当我需要在一个文件中写这行时有问题。 这是代码: import xlrd import string dataFile = open('Napadaci.txt', 'w') workbook = xlrd.open_workbook('TBS_58_pos10_stars75_2014-02-09.xls') worksheet = workbook.sheet_by_name('Sheet1') num_rows = worksheet.nrows – 1 num_cells = worksheet.ncols – 1 curr_row = -1 b = 0 new_cell_value = "" while curr_row < num_rows: curr_row += 1 row = worksheet.row(curr_row) curr_cell = 4 cell_value = worksheet.cell_value(curr_row, curr_cell) […]

将“currentregion”用于数据填充时忽略基于公式的列

我正在努力为我的同事制作费用报告表格,并且遇到了问题。 表单find电子表格中的下一个空行,然后将数据写入该行。 问题是我的工作表的前三列是基于公式的,并在整个电子表格中向下拖动。 因为我正在使用“currentregion”属性,这意味着表单将在所有公式之后写入新的细节,即使它们是空白的并且取决于input。 这里是我的数据input代码(还有更多,但这是相关的部分)。 Rowcount = Worksheets("Data Entry").Range("D1").CurrentRegion.Rows.Count With Worksheets("Data Entry").Range("D1") .Offset(Rowcount, 0).Value = Me.txtDOY.Value .Offset(Rowcount, 1).Value = Me.cboClient.Value .Offset(Rowcount, 2).Value = Me.cboProject.Value .Offset(Rowcount, 3).Value = Me.cboType.Value .Offset(Rowcount, 4).Value = Me.txtDescription.Value .Offset(Rowcount, 5).Value = Me.txtAmount.Value .Offset(Rowcount, 6).Value = Me.txtMiles.Value .Offset(Rowcount, 7).Value = Me.txtRate.Value End With 我已经能够通过在列C和列D之间input一个空白列(从基于公式的列中删除当前区域)来抵消这一点,但是这是一个迂回的做法,看起来不整洁。 有没有一个干净的方法来做到这一点,让我离开整个表作为一个连续的块? 我认为这是通过rowcount属性,但我不知道如何以不同的方式编程。

当试图通过openpyxlparsing.xlsx时,“UnicodeEncodeError:”charmap'编解码器不能编码字符“

— 更新 — 我认为这个控制台日志指出的问题,但是它仍然不清楚如何解决它: >>> workbook = openpyxl.load_workbook('data.xlsx') >>> worksheet = workbook.active >>> worksheet['A2'].value u'\u041c\u0435\u0448\u043e\u043a \u0434\u0435\u043d\u0435\u0433' >>> print worksheet['A2'].value Traceback (most recent call last): File "<stdin>", line 1, in <module> File "C:\Python27\lib\encodings\cp437.py", line 12, in encode return codecs.charmap_encode(input,errors,encoding_map) UnicodeEncodeError: 'charmap' codec can't encode characters in position 0-4: character maps to <undefined> — 结束更新 — 我试图用openpyxl打印一些.xlsx单元格的值: […]

ANSII中的特殊字符通过VBA

我已经实现了一个vba脚本来创build文件夹,文件,并把每个行的文件中的描述。 问题是塞尔维亚拉丁字母,如“š,đ,č,ć,ž”。 文件必须logging在ANSII .txt文件中,因为另外一个程序。更尴尬的是,第一个文件在.txt(ANSII编码)中是可以的,它保留了字母,但是其他的都不行。 也许我需要更改控制面板中的键盘设置? 在这个链接上我已经上传了testing文件: File 请运行这个简单的代码,请给我任何反馈。 谢谢! Sub files() Dim iRow As Long Dim iFile As Integer Dim sPath As String Dim sFile As String For iRow = 1 To Cells(Rows.Count, "C").End(xlUp).Row iFile = FreeFile With Rows(iRow) sPath = "E:\" & .Range("B1").Value & "\" If Len(Dir(sPath, vbDirectory)) = 0 Then MkDir sPath sFile […]

更改R字符编码,无需复制内存(编码function)

我经常导入巨大的Excel文件,因此在Windows 7上使用openxlsx和readxl ( xlsx::read.xlsx[2]太慢)。 这些软件包没有指定编码的选项,因此我必须将string列的编码标记从“unknown”(native = Windows代码页1252)更改为UTF-8(UTF-8是Excel的XLSX文件的标准编码)。 什么是最有效的方式来改变R的“string”(字符向量)的编码标记,而不会导致原始string被复制? R有Encoding()和enc2utf8来改变编码标记,我只用它来修复错误的编码标记而不改变string的原始字节。 即使Encoding()不应该改变string本身的字节(=不能像iconv那样转换string),string会被复制一次或多次: > x <- "fa\xE7ile" > x [1] "fa\xe7ile" > charToRaw(x) [1] 66 61 e7 69 6c 65 > tracemem(x) [1] "<0x47030f8>" > Encoding(x) [1] "unknown" > Encoding(x) <- "latin1" tracemem[0x47030f8 -> 0x4463118]: tracemem[0x4463118 -> 0x44630e8]: Encoding<- > x [1] "façile" > charToRaw(x) [1] 66 61 […]

带有BOM的PHP导出CSV UTF-8不起作用

我一直在使用中文字符导出UTF-8 CSV,这些字符在Windows Excel上显示乱码文本。 我正在使用PHP,并已经添加了BOM字节标记,并尝试编码,但没有运气。 他们可以在Notepad ++,Google Spreadsheet甚至Mac数字上打开。 但不是客户要求的Excel。 用Notepad ++打开时,编码显示为UTF-8。 如果我手动将其更改为UTF-8并保存,Excel文件将打开罚款。 似乎BOM字节标记没有被保存在输出中,因为记事本++始终将其检测为没有BOM的UTF-8。 另外,CSV不保存在服务器上。 数据从DB中检索,然后直接导出。 这是我的代码: // Setup headers header('Cache-Control: must-revalidate, post-check=0, pre-check=0'); header('Content-Description: File Transfer'); header("Content-type: text/csv"); header("Content-disposition: filename=".$filename.".csv"); header("Pragma: no-cache"); // First Method $fp = fopen('php://output', 'w'); // Add BOM to fix UTF-8 in Excel, but doesn't work fputs($fp, chr(0xEF) . chr(0xBB) . chr(0xBF) […]

数据编码在ajax成功处理程序中是不同的

我正在使用AJAX从服务器下载excel文件。 但下载的数据与实际数据不同 实际数据是橙色背景。 收到的数据在黄色背景中。 从差异文件看,他们看起来像使用不同的编码格式。 所以excel会抛出文件格式不正确的错误。 $.ajax({ url: exporting.action, headers: { "Authorization": "Basic " + btoa("key : " + key) }, type: "post", responseType: "arraybuffer", success: function (res, status, obj) { var blob = new Blob([str2ab(res)], { type: obj.getResponseHeader('Content-Type') }); var objectUrl = URL.createObjectURL(blob); window.open(objectUrl); }, data: { 'Model': JSON.stringify(modelClone) } }); 请帮忙解决这个问题

如何应对PHP中不同编码的xls文件?

我正在开发一个涉及parsingxls文件数据的php脚本。 我正在使用库phpexcelreader 。 所有的主要工作,但我偶然发现一个奇怪的问题。 有些文件被错误地parsing。 看起来像xls文件可能会在内部使用不同的字符编码。 至less,然后我通过iconv -f cp1251 -t utf8从我的脚本pipe道输出,string得到纠正。 Phpexcelreader有一个用于指定输出编码的选项,但看起来像缺less能力检测input编码。 有任何想法吗?