我正在编写一个修改现有excel文档的脚本,我需要能够在两个其他列之间插入一个列,如VBA宏命令.EntireColumn.Insert
.
是否有任何方法使用openpyxl来插入这样的列?
如果没有,有关写一个的建议吗?
我有一些问题,即使列设置为可编辑,一些单元格(使用cellEdit:true)也是不可编辑的.
我尝试了很多方法,比如beforeEditCell,格式化程序等.似乎没有用.
我最接近的是将格式化程序设置为我想要编辑的列,然后使用setCell设置'not-editable-cell'类(下面的代码段).第一次单击单元格时,它很可能会进入编辑模式,但是如果您单击其他位置并尝试重新编辑单元格,则它已成功无法编辑.
我也试过使用相同的剪切但在beforeEditCell内部,它成功地阻止了单元格的编辑,但反过来"冻结"网格.您无法再选择任何其他单元格.
function noEditFormatter(cellValue, options, rowObject) {
if (cellValue == 'test')
jQuery("#grid").jqGrid('setCell', options.rowId, 'ColName', '', 'not-editable-cell');
return cellValue;
}
Run Code Online (Sandbox Code Playgroud)
任何帮助将非常感激.
我目前正在使用afterSaveCell
手动更新网格中的某些单元格.如果用户使用enter保存当前编辑的单元格,我可以正常工作.
不幸的是,如果他们点击或跳出单元格,他们正在直接编辑到另一个单元格,我不能再抓取新编辑的单元格的单元格值,因为getCell
只返回输入控件的html.
总之,即使在编辑单元格时,有没有办法访问单元格的值?
jQuery(document).ready(function () {
var mydata = [
{id:"1", invdate:"2007-10-01",name:"test", note:"note", amount:"200.00",tax:"10.00",total:"210.00"},
{id:"2", invdate:"2007-10-02",name:"test2", note:"note2", amount:"300.00",tax:"20.00",total:"320.00"},
{id:"3", invdate:"2007-09-01",name:"test3", note:"note3", amount:"400.00",tax:"30.00",total:"430.00"},
{id:"4", invdate:"2007-10-04",name:"test", note:"note4", amount:"200.00",tax:"10.00",total:"210.00"},
{id:"5", invdate:"2007-10-05",name:"test5", note:"note5", amount:"300.00",tax:"20.00",total:"320.00"},
{id:"6", invdate:"2007-09-06",name:"test", note:"note6", amount:"400.00",tax:"30.00",total:"430.00"},
{id:"7", invdate:"2007-10-04",name:"test7", note:"note7", amount:"200.00",tax:"10.00",total:"210.00"},
{id:"8", invdate:"2007-10-03",name:"test8", note:"note8", amount:"300.00",tax:"20.00",total:"320.00"},
{id:"9", invdate:"2007-09-01",name:"test", note:"note9", amount:"400.00",tax:"30.00",total:"430.00"},
{id:"10",invdate:"2007-09-08",name:"test10",note:"note10",amount:"500.00",tax:"30.00",total:"530.00"},
{id:"11",invdate:"2007-09-08",name:"test11",note:"note11",amount:"500.00",tax:"30.00",total:"530.00"},
{id:"12",invdate:"",name:"TOTAL", note:"",amount:"",tax:"",total:""}
];
var grid = $("#list");
grid.jqGrid({
cellsubmit: 'remote',
cellurl: '/Example/GridSave',
datatype: "local",
data: mydata,
mtype: 'POST',
colNames: ['Inv No', 'Date', 'Client', 'Amount', 'Tax', 'Total', 'Notes'],
colModel: …
Run Code Online (Sandbox Code Playgroud)