精华内容
下载资源
问答
  • 2020-03-07 22:18:02

    用vb代码复制比如一行两列的单元格区域, 如果代码复制的是比如这一行的左则一列, 即部分区域, 则合并单元格的内容会进入到被粘贴后的一列中, 而如果复制的是比如这一行的右侧一列部分区域, 那么相应的, 被粘贴后的一列则是空白没有数据的

    如果2行2列的的单元格区域, 代码复制第一行的相应区域, 被粘贴后得到1行, 2列的合并单元格. 如果只是单复制这个单元格区域的第2行的2列, 被粘贴后得到的是空的, 没有合并单元格区域, 也没有内容 (copy+pastespecial 12 +pastespecial 13)

    然后注意, 如果表头区包含了2行2列的合并单元格区域, 然后vba复制了第1行的2列作为表头, 然后正文部分是设定包含了那两列的第2行, 这样会出现一个奇怪的形态, 就是这个表头中(1行2列), 出现了两套相同本来属于这个单元格区域的内容, 一套是一个单元格, 似乎左侧的一列, 一套是合并单元格, 一行两列, 然后感觉两种显示效果重叠了, 内容也是两套, 有重影… 乖乖, 第一次见识到. 复制到另一个地方后显示正常两个格子, 或者这个文件保存后再打开, 又正常了, 也变成了两个分开格子. 再后面发现, 哪怕只是代码复制这个区域的第一行作为内容, 也会出现同样的两套内容在同样的一行两列的区域, 一个是单格子, 左侧的一列, 右一个看上去是合并单元格, 文字内容相同. 不知道是否与.copy .pastespecial:=12, .pastespecial:=13有关吗? 不太清楚, 先这样记录吧.

    更多相关内容
  • 摘要:C#源码,菜单窗体,Excel,DataGridView C#像Excel一样复制DataGridView单元格中的数据,复制单元格数据,练习练习如何在C#中使用DataGridView数据网格控件,这其实也是个非常实用的基础技巧,一般在与数据库想...
  • 但是,除非先双击然后突出显示数据,然后右键单击该当前单元格之外的任何位置以显示我的弹出菜单和复制选项,否则我无法复制单元格中的数据.我想在单元格复制数据,而无需双击单元格并进入单元格编辑模式,然后我需要...

    我创建了JPopupMenu.当我右键单击单元格时,它会显示在我的JTable上.但是,除非先双击然后突出显示数据,然后右键单击该当前单元格之外的任何位置以显示我的弹出菜单和复制选项,否则我无法复制该单元格中的数据.

    我想在单元格中复制数据,而无需双击单元格并进入单元格编辑模式,然后我需要选择数据.

    我怎样才能做到这一点?

    popup = new JPopupMenu();

    popup.setName("popupMenu");

    menuItemCopy = new JMenuItem(new DefaultEditorKit.CopyAction());

    menuItemCopy.setText("Copy");

    menuItemCopy.setName("copy");

    popup.add(menuItemCopy);

    popup.addSeparator();

    menuItemPaste = new JMenuItem(new DefaultEditorKit.PasteAction());

    menuItemPaste.setText("Paste");

    menuItemPaste.setName("paste");

    popup.add(menuItemPaste);

    这是我在JTable的MouseListener中的mouseReleased()和mousePressed()中的代码.

    if(e.isPopupTrigger())

    {

    JTable source = (JTable)e.getSource();

    int row = source.rowAtPoint( e.getPoint() );

    int column = source.columnAtPoint( e.getPoint() );

    gridView.popup.show(e.getComponent(), e.getX(), e.getY());

    }

    解决方法:

    两件事情…

    >我不确定您如何期望DefaultEditorKit.CopyAction和DefaultEditorKit.PasteAction与JTable一起使用,这些应该与JTextComponents一起使用…

    > JTable只会在左键按下(或更改键盘导航)时突出显示该行,默认情况下,右键单击不会选中该行.

    现在,我想使用JTable的组件弹出窗口支持,但这似乎消耗了所有鼠标事件,一旦它检测到弹出窗口触发器,就使(几乎)不可能在右键单击上突出显示行/列.

    相反,我最终在我的MouseListener中添加了一个Highlight方法,该方法突出显示有问题的行/列,然后触发弹出窗口.

    我这样做的原因是,与复制和粘贴相关联的Action除了表外没有其他任何概念,因此他们不知道单击了什么行/列.

    这使这些操作可以集中于仅担心选择.

    内容通过自定义可转移文件直接复制到系统剪贴板,该文件保留了单元格的原始类型,这意味着粘贴对象时无需重建对象.

    import java.awt.Component;

    import java.awt.EventQueue;

    import java.awt.Point;

    import java.awt.Toolkit;

    import java.awt.datatransfer.Clipboard;

    import java.awt.datatransfer.DataFlavor;

    import java.awt.datatransfer.FlavorEvent;

    import java.awt.datatransfer.FlavorListener;

    import java.awt.datatransfer.Transferable;

    import java.awt.datatransfer.UnsupportedFlavorException;

    import java.awt.event.ActionEvent;

    import java.awt.event.MouseAdapter;

    import java.awt.event.MouseEvent;

    import java.io.File;

    import java.io.IOException;

    import java.util.logging.Level;

    import java.util.logging.Logger;

    import javax.swing.AbstractAction;

    import static javax.swing.Action.NAME;

    import javax.swing.JFrame;

    import javax.swing.JPopupMenu;

    import javax.swing.JScrollPane;

    import javax.swing.JTable;

    import javax.swing.UIManager;

    import javax.swing.UnsupportedLookAndFeelException;

    import javax.swing.table.DefaultTableCellRenderer;

    import javax.swing.table.DefaultTableModel;

    public class TestTable100 {

    public static void main(String[] args) {

    new TestTable100();

    }

    public TestTable100() {

    EventQueue.invokeLater(new Runnable() {

    @Override

    public void run() {

    try {

    UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());

    } catch (ClassNotFoundException | InstantiationException | IllegalAccessException | UnsupportedLookAndFeelException ex) {

    ex.printStackTrace();

    }

    DefaultTableModel model = new DefaultTableModel();

    model.addColumn("Type");

    model.addColumn("Column");

    for (File file : new File(System.getProperty("user.home")).listFiles()) {

    model.addRow(new Object[]{file, file});

    }

    JTable table = new JTable(model);

    table.getColumnModel().getColumn(0).setCellRenderer(new FirstCellRenderer());

    JFrame frame = new JFrame("Testing");

    frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

    frame.add(new JScrollPane(table));

    frame.pack();

    frame.setLocationRelativeTo(null);

    frame.setVisible(true);

    final JPopupMenu pm = new JPopupMenu();

    pm.add(new CopyAction(table));

    pm.add(new PasteAction(table));

    table.addMouseListener(new MouseAdapter() {

    @Override

    public void mouseClicked(MouseEvent e) {

    if (e.isPopupTrigger()) {

    highlightRow(e);

    doPopup(e);

    }

    }

    @Override

    public void mouseReleased(MouseEvent e) {

    if (e.isPopupTrigger()) {

    highlightRow(e);

    doPopup(e);

    }

    }

    protected void doPopup(MouseEvent e) {

    pm.show(e.getComponent(), e.getX(), e.getY());

    }

    protected void highlightRow(MouseEvent e) {

    JTable table = (JTable) e.getSource();

    Point point = e.getPoint();

    int row = table.rowAtPoint(point);

    int col = table.columnAtPoint(point);

    table.setRowSelectionInterval(row, row);

    table.setColumnSelectionInterval(col, col);

    }

    });

    }

    });

    }

    public class FirstCellRenderer extends DefaultTableCellRenderer {

    @Override

    public Component getTableCellRendererComponent(JTable table, Object value,

    boolean isSelected, boolean hasFocus, int row, int column) {

    File f = (File) value;

    super.getTableCellRendererComponent(table,

    value, isSelected, hasFocus, row, column);

    String prefix = f.isDirectory() ? "DIR" : "FILE";

    setText(prefix);

    return this;

    }

    }

    public class CopyAction extends AbstractAction {

    private JTable table;

    public CopyAction(JTable table) {

    this.table = table;

    putValue(NAME, "Copy");

    }

    @Override

    public void actionPerformed(ActionEvent e) {

    int row = table.getSelectedRow();

    int col = table.getSelectedColumn();

    Clipboard cb = Toolkit.getDefaultToolkit().getSystemClipboard();

    cb.setContents(new CellTransferable(table.getValueAt(row, col)), null);

    }

    }

    public class PasteAction extends AbstractAction {

    private JTable table;

    public PasteAction(JTable table) {

    this.table = table;

    putValue(NAME, "Paste");

    final Clipboard cb = Toolkit.getDefaultToolkit().getSystemClipboard();

    cb.addFlavorListener(new FlavorListener() {

    @Override

    public void flavorsChanged(FlavorEvent e) {

    setEnabled(cb.isDataFlavorAvailable(CellTransferable.CELL_DATA_FLAVOR));

    }

    });

    setEnabled(cb.isDataFlavorAvailable(CellTransferable.CELL_DATA_FLAVOR));

    }

    @Override

    public void actionPerformed(ActionEvent e) {

    int row = table.getSelectedRow();

    int col = table.getSelectedColumn();

    Clipboard cb = Toolkit.getDefaultToolkit().getSystemClipboard();

    if (cb.isDataFlavorAvailable(CellTransferable.CELL_DATA_FLAVOR)) {

    try {

    Object value = cb.getData(CellTransferable.CELL_DATA_FLAVOR);

    table.setValueAt(value, row, col);

    } catch (UnsupportedFlavorException | IOException ex) {

    ex.printStackTrace();

    }

    }

    }

    }

    public static class CellTransferable implements Transferable {

    public static final DataFlavor CELL_DATA_FLAVOR = new DataFlavor(Object.class, "application/x-cell-value");

    private Object cellValue;

    public CellTransferable(Object cellValue) {

    this.cellValue = cellValue;

    }

    @Override

    public DataFlavor[] getTransferDataFlavors() {

    return new DataFlavor[]{CELL_DATA_FLAVOR};

    }

    @Override

    public boolean isDataFlavorSupported(DataFlavor flavor) {

    return CELL_DATA_FLAVOR.equals(flavor);

    }

    @Override

    public Object getTransferData(DataFlavor flavor) throws UnsupportedFlavorException, IOException {

    if (!isDataFlavorSupported(flavor)) {

    throw new UnsupportedFlavorException(flavor);

    }

    return cellValue;

    }

    }

    }

    标签:java,swing,contextmenu,jtable,popup

    来源: https://codeday.me/bug/20191009/1879271.html

    展开全文
  • Python-Excel-09-复制单元格区域

    千次阅读 2019-06-01 20:14:53
    微信公众号原文 系统:Windows 7 语言版本:Anaconda3-4.3.0.1-Windows-x86_64 编辑器:pycharm-community-2016.3.2 ...已有一个Excel文件区域复制.xlsx,其中包括4个工作表 工作表:原,原始数据...

    微信公众号原文

    系统:Windows 7
    语言版本:Anaconda3-4.3.0.1-Windows-x86_64
    编辑器:pycharm-community-2016.3.2

    • 这个系列讲讲Python对Excel的操作
    • 今天讲讲使用win32com模块,复制工作表某一区域数据

    Part 1:示例说明

    1. 已有一个Excel文件区域复制.xlsx,其中包括4个工作表
      • 工作表:原,原始数据
      • 工作表:复制1,空表
      • 工作表:复制2,空表
      • 工作表:复制3,空表
    2. 采用三种方法复制工作表中(A1:C5)区域数据分别到工作表复制1复制2复制3
    3. 工作表复制1复制3对应方法为全复制;复制2对应方法只复制数据


    1.png

    复制空表
    2.png

    复制后
    复制1
    复制1.png

    复制2
    复制2.png

    复制3
    复制3.png

    Part 2:代码

    import os
    import win32com
    from win32com.client import constants as c  # 旨在直接使用VBA常数
    current_address = os.path.abspath('.')
    
    excel_address = os.path.join(current_address, "区域复制.xlsx")
    xl_app = win32com.client.gencache.EnsureDispatch("Excel.Application")  # 若想引用常数的话使用此法调用Excel
    xl_app.Visible = True  # 是否显示Excel文件
    wb = xl_app.Workbooks.Open(excel_address)
    sht_old = wb.Worksheets("原")
    sht_new_1 = wb.Worksheets("复制1")
    sht_new_2 = wb.Worksheets("复制2")
    sht_new_3 = wb.Worksheets("复制3")
    
    # 复制工作表
    rng_data = sht_old.Range(sht_old.Cells(1, 1), sht_old.Cells(5, "C"))
    rng_data.Copy()
    sht_new_1.Paste(Destination=sht_new_1.Range("A1"))
    sht_new_2.Range("A1").PasteSpecial(Paste=c.xlPasteValues)
    sht_new_3.Range("A1").PasteSpecial(Paste=c.xlPasteAll)
    
    wb.Save()
    wb.Close()
    xl_app.Quit()
    

    代码截图
    3.png

    Part 3:部分代码解读

    1. sht_new_1.Paste(Destination=sht_new_1.Range("A1")),注意使用Paste方法,目标区域是以参数形式给出的:Destination=sht_new_1.Range("A1")
    2. sht_new_2.Range("A1").PasteSpecial(Paste=c.xlPasteValues),目标区域是放在开始的位置
    3. xl_app.Quit(),关闭Excel这个程序,也就是说如果同时有其它Excel文件打开,也会被关闭

    本文为原创作品,欢迎分享朋友圈

    常按图片识别二维码,关注本公众号
    Python 优雅 帅气
    12x0.8.jpg

    展开全文
  • 单元格区域复制是将某个单元格单元格区域内容复制到指定的其他单元格单元格区域中,原有单元格单元格区域内容不变;而单元格区域移动是将某个单元格单元格区域内容移动到指定的其他单元格单元格区域中,而...

    66fedd912e94373e6b6902afa682e00b.png

    单元格区域复制是将某个单元格或单元格区域内容复制到指定的其他单元格或单元格区域中,原有单元格或单元格区域内容不变;而单元格区域移动是将某个单元格或单元格区域内容移动到指定的其他单元格或单元格区域中,而原有单元格或单元格区域的内容将不复存在。

    可以利用剪切、复制与粘贴命令共同完成将指定的行、列、单元格和单元格区域的内容移动或复制到其他地方的操作。可以在同一张工作表中移动、复制,也可以在不同工作表之间、不同工作簿之间移动、复制。如果目标单元格或单元格区域中原来含有数据,则复制或移动过来的数据将覆盖原有数据。

    移动或复制单元格数据的方法基本相同。

    (l)用鼠标操作

    l)选取将被移动或复制的单元格或单元格区域。

    2)将鼠标指针指向区域边框,鼠标指针由原来的空心十字变为十字箭头状。

    3)拖动鼠标,一个与被复制区同样形状、大小的灰色线框会随着鼠标指针移动,显示将被移动到的区域。

    4)到达预定位置后,释放鼠标即可完成单元格的移动。如果要实现单元格的复制,只需在释放鼠标之前按下Ctrl键即可。

    可以在移动和复制单元格或单元格区域时,用鼠标右键拖动选定区域,当释放鼠标右键时弹出一个快捷菜单,显示当前对于移动和复制操作的所有可用的命令。从中选取所需的命令即可完成移动或复制。

    (2)用"剪切"、"复制"、"粘贴"命令操作

    1)选取将被移动或复制的单元格或单元格区域。

    2)选择"编辑"菜单的"剪切"命令,或单击"常用"工具栏中的"剪切"按钮,或按快捷键Ctrl+X,或选取快捷菜单中的"剪切"命令:如果要实现单元格的复制则选择"编辑"菜单的"复制"命令,或单击"常用"工具栏中的"复制"按钮,或按快捷键Ctr1+C,或选取快捷菜单中的"复制"命令。被剪切区或复制区周围出现一个闪烁的虚线框,表明已将所选内容放入剪贴板中。

    3)选取预定目标区左上角的单元格或目标区。

    4)按回车键,或选择"编辑"菜单的"粘贴"命令,或单击"常用"工具栏中的"粘贴"按钮,或按快捷键Ctrl+V,或选取快捷菜单中的粘贴命令,完成操作。

    注意:

    & 在进行复制操作时,若被复制区周围闪烁的虚线框依然存在,表明可以继续进行粘贴操作,除非由于其他操作(如双击其他单元格或按Esc键)取消了虚线框。

    & 复制单个单元格的粘贴区可以是一个单元格,也可以是单元格区域,也可以是不相邻的选定区域。如果是单元格区域或不相邻的选定区域,则区域内的所有单元格均是源单元格的复制。

    & 复制单元格区域的粘贴区可以是一个单元格,也可以是单元格区域,也可以是不相邻的选定区域。如果粘贴区为一个单一的单元格,则"粘贴"命令将此单元格用作粘贴区域的左上角,并将被复制区域其余部分粘贴到此单元格的下方和右方。如果粘贴区域是一个区域或不相邻的选定区域,则它必须能包含与被复制区域有相同尺寸和形状的一个或多个长方形。

    复制操作还可以用"剪贴板"任务窗格实现,详见第2.3.7节。

    (3)用插入的方式复制单元格数据

    如果在复制单元格数据时,目标单元格区域中已有数据而又不要被覆盖,可以使用插入方式来复制数据。操作步骤如下:

    1)选取将被复制的单元格或单元格区域。

    2)选择"编辑"菜单的"复制"命令。被复制区周围出现一个闪烁的虚线框,表明己将所选内容放入剪贴板中。

    3)选取预定目标区左上角的单元格或目标区。

    4)选择"插入"菜单的"复制单元格"命令,弹出"插入粘贴"对话框。

    5)根据需要选中"活动单元格右移"或"活动单元格下移"单选按钮。

    6)单击"确定"按钮,即将目标区域中原有数据按选定方向移开,容纳复制进来的数据。

    2829f2ca24f0d0090cbba57f30759f23.png

    2010年职称计算机考试:单元格区域的复制和移动.doc

    下载Word文档到电脑,方便收藏和打印[全文共1552字]

    编辑推荐:

    8b95f2eb3d3f7ce4dc3bf1178c74941e.png

    8b95f2eb3d3f7ce4dc3bf1178c74941e.png

    8b95f2eb3d3f7ce4dc3bf1178c74941e.png

    8b95f2eb3d3f7ce4dc3bf1178c74941e.png

    8b95f2eb3d3f7ce4dc3bf1178c74941e.png

    下载Word文档

    展开全文
  • 解决wps工作簿从文本中复制粘贴时单元格中首位0无法显示1.选中特定单元格-开始-类型转换-数字转换为文本类型2.选中要复制的文本3.粘贴单元格-右键-选择粘贴-无格式文本4.效果 1.选中特定单元格-开始-类型转换-数字...
  • 在我的java类中,我声明像以下单元格:HSSFCell cell = null;我在很多地方使用这个单元来创建一个单元格并设置值,样式.喜欢:cell = row.createCell(1);cell.setCellValue("1234.00");setCellStyle(currency, cell, ...
  • EXCEL依然是现在最流行的表格处理软件,我们很多汇总、财务等工作都需要用到,各种公式更是让excel更为强大,但是,我们在粘贴数据的时候,经常会遇到:“excel 无法粘贴信息,原因是复制区域与粘贴区域形状不同”的...
  • Excel 如何让单元格内容不完全显示

    千次阅读 2021-06-10 09:52:11
    问题描述:在制作Excel表格,处理数据的时候,有时候会遇到一个单元格需要输入的内容太多,而导致此单元格的内容覆盖到了后面的单元格,这时我们就希望此单元格的内容不要全部显示而影响了后面单元格 解决方法: 第...
  • NPOI操作Excel,基本包含所有的常见读取、写入,还有数据、样式之间的...自动添加行,设置字体样式,单元格背景色、宽度、 批注的展示、复制粘贴, 多个Excel文件间的复制操作 发给有需要的朋友,希望能帮到解决问题
  • 单击显示单元格内容 单击一个单元格以筛选Excel列 (Click a Cell to Filter Excel Column) Here is a fancy filter trick, if you frequently have to filter your Excel tables. Click on a cell in this Excel ...
  • 本文使用.NET 4提供的DataZGrid,显示了如何在单元格之间复制和粘贴。
  • 鼠标放上单元格时,显示复制按钮 a.layBody.on("click", "td", function (e) { ... } }).on("mouseenter", "td", function () { b.call(this) // 调用 ly 方法 ly.call(this) }).on("mouseleave", "td", ...
  • private static void Gv_KeyUp(object sender, System.Windows... {//在禁止编辑状态下,按Ctrl+C复制焦点单元格显示内容 GridView gridView = sender as GridView; if (e.Control & e.KeyCode == Keys.C) { ..
  • 记一次POI复制EXCEL单元格样式失败

    千次阅读 2019-09-13 18:39:31
    XSSFCell复制单元格样式的两种方式 1、直接将原单元格样式加载新建单元格上 XSSFRow newRow = sheet.createRow(row + 5); for (int cell = 0; cell < maxCellNum; cell++) { XSSFCel...
  • 2006-04-07EXCEL里面的绝对引用是什么定EXCEL单元格的引用... 如果多行或多列地复制公式,绝对引用将不作调整。默认情况下,新公式使用相对引用,需要将它们转换为绝对引用。例如,如果将单元格 B2 中的绝对引用复...
  • 一个UICollectionViewLayout,它以可变数量的列显示您的单元格,这些列适合CollectionView的边界。 为什么? 因为其他所有试图模仿Pintrest瀑布布局的布局(这样做)都希望您从外部设置列数,而我希望我的布局能够...
  • 电脑excel单元格中文字如何在合并单元格后竖排显示excel软件是我们现在经常使用的数据处理工具之一,接下来小编就教大家怎样在软件中设置合并单元格之后竖排显示文字。具体如下:1.首先我们需要打开电脑进入到桌面,...
  • html : align=center v-loading=loading height=tableHeight span-method=objectOneMethod > <el align=center prop=projName></el> <el-tab
  • 把在第一列出现的字母用红色显示出来,点输出后,到EXCEL复制。就可以看到效果。
  • 单元格属性

    2021-06-12 04:17:33
    本章对一般单元格属性中的值、显示、段落、字体、扩展、超链接、分页、WEB、其他、表达式、类型以及统计进行了详细的讲解。本小节对一般单元格的属性值、显示格式、显示值进行了详细介绍。值单元格属性列表中第一项...
  • vue+elementUI实现点击表格中某一个单元格进行复制其内容 在下面案例中复制的是链接这一列 1.安装插件vue-clipboard2 npm install vue-clipboard2 --save 2.在main.js中引入 import Vue from ‘vue’ import Vue...
  • 1、复制合并单元格所在的A列到其他空白列,如本例中的列的E2:E18,这样做的目的是保留合并单元格的大小和样式。 2、选择A2:A18,单击工具栏或功能区中的“合并后居中”命令取消所有单元格合并。 3、保留A2:...
  • 如果把表格的合并行去掉,又能正常显示。 原因:table-layout: fixed 的表格,各列宽度由第一行决定,后面指定的宽度会被忽略。你第一行合并了,所以各列宽度均分了。 解决方法一: 在tbody前加 复制代码代码...
  • 转载:https://www.dazhuanlan.com/2019/12/24/5e01ba6c29ec7/ (ps:复制直接可用~)
  •  问题:如何复制批注内容到单元格里面,效果如下面所示:A列是有单元格批注的数据列,B列是将A列单元格的批注一次性提取复制出来。也就是批注转换成单元格操作,你会吗?  批量复制批注内容到单元格,需要使用到...
  • 导读:EXCEL如何快速筛选重复数据,并将结果快速复制到其他单元格很多小伙伴不知道怎么快速筛选重复数据,只能硬着头皮一个一个去筛选?筛选到抓狂了有没有?今天小马跟大家分享一下,如何快速快速筛选重复数据,并...
  • 下面示例中,当姓名所在td的宽度是60px,如果第二行里的文字较少时,显示正常,如果第二行里的文字较多时,则显示不正常了 复制代码代码如下: <!DOCTYPE HTML> <html> <head> <meta http-equiv=...
  • 对于合并列单元格的excel,分页打印时,列单元格的内容可能只显示在第二页,显示格式不友好。针对这一问题,对每一页的列单元格需要分别进行合并操作。附件中的vba代码就解决了这个问题。把代码复制到宏,运行即可。
  • excel表格乱码修复 修复从数据库复制的空白Excel单元格 (Fix Blank Excel Cells Copied From Database) When you copy data to Excel, from another application, blank cells in the data can cause problems....

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 31,940
精华内容 12,776
关键字:

复制显示的单元格