生我才必有用。——李白
大家在平时在复制表格的时候,不知道有没有遇到过这样的问题?
好好的按Ctrl+C复制,Ctrl+C粘贴,发现复制后的表格行高和列宽都变了,
就像下面这样:
当我们再把把word表格的内容粘贴到Excel中,发现也是全乱了。
如果我们在对表格进行行高列宽调整,那就太麻烦了。今天就给大家分享2个小技巧,教你怎么复制表格,表格才不会变形。
我们先看Excel到Excel复制技巧
1、选择整行复制,再进行粘贴,表格行高就不会变
2、选择所有行,按复制,再在新的位置点击-【选择性粘贴】,点击保留源列宽,列宽即不会变。
说完Excel复制粘贴的行高列宽不变,我们再看下Excel和Word结合使用怎么确保不会改变。
答:把Excel表格直接按Ctrl 拖到word中,行高列宽都不变。
答:先把word文件另存为html格式(网页)格式
再用excel打开,原来的Word表格行高列宽都不变。
以上就是给大家分享关于Excel与Excel及Excel与Word之间如何实现复制粘贴后不变形的方法,希望对你有帮助。
如果觉得文章对你有帮助的话,希望大家帮忙点赞加分享哦~,谢谢
本文由李先生的职场Excel原创,欢迎关注,带你一起长知识!
时候会需要做一个可以拉伸宽度的表格,但是现有的表格是没有这个功能的,那就需要我们手动的实现,下面我来看看,如何用原生js实现。
先看效果图,都是在表格头部进行的拉伸:
单元格被拉伸的时候,整体表格宽度不变
单元格被拉伸的时候,整体表格会变宽。
话不多说,直接上代码:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>表格拉伸</title>
<style>
#tab{
text-align:center
}
</style>
</head>
<body>
<table id="tab" border="1" cellpadding="2" cellspacing="0" width="500px" >
<tr style="background-color: #dcdcdc">
<td style="width:100px;">序号</td>
<td>姓名</td>
<td>语文分数</td>
<td>数学分数</td>
</tr>
<tr>
<td>1</td>
<td>李萌</td>
<td>80</td>
<td>98</td>
</tr>
<tr>
<td>2</td>
<td>赵新</td>
<td>98</td>
<td>88</td>
</tr>
<tr>
<td>3</td>
<td>张小红</td>
<td>82</td>
<td>84</td>
</tr>
<tr>
<td>4</td>
<td>陈成</td>
<td>98</td>
<td>94</td>
</tr>
<tr>
<td>5</td>
<td>胡山</td>
<td>77</td>
<td>94</td>
</tr>
</table>
</body>
</html>
<script type="text/javascript">
let tTD;
let table=document.getElementById("tab");
for (let i=0; i < table.rows [0].cells.length; i++) {
table.rows[0].cells[i].onmousedown=function () {
//记录单元格
tTD=this;
if (event.offsetX > tTD.offsetWidth - 10) {
tTD.mouseDown=true;
tTD.oldX=event.x;
tTD.oldWidth=tTD.offsetWidth;
};
//记录Table宽度(单元格拉伸,表格整体宽度变化时用的)
//table=tTD;
// while (table.tagName !='TABLE') {table=table.parentElement};
//tTD.tableWidth=table.offsetWidth;
};
table.rows[0].cells[i].onmouseup=function () {
//结束宽度调整
if (tTD==undefined) {
tTD=this
};
tTD.mouseDown=false;
tTD.style.cursor='default';
};
table.rows[0].cells[i].onmousemove=function () {
//更改鼠标样式
if (event.offsetX > this.offsetWidth - 10){
this.style.cursor='col-resize';
}else{
this.style.cursor='default';
};
//取出暂存的Table Cell
if (tTD==undefined) {tTD=this};
//调整宽度
if (tTD.mouseDown !=null && tTD.mouseDown==true) {
tTD.style.cursor='default';
if (tTD.oldWidth + (event.x - tTD.oldX) > 0){
tTD.width=tTD.oldWidth + (event.x - tTD.oldX);
//调整列宽
tTD.style.width=tTD.width;
tTD.style.cursor='col-resize';
//调整该列中的每个Cell
table=tTD;
}
while (table.tagName !='TABLE') {table=table.parentElement};
for (let j=0; j < table.rows.length ; j++) {
table.rows[j].cells[tTD.cellIndex].width=tTD.width;
}
//调整整个表
// table.width=tTD.tableWidth + (tTD.offsetWidth-tTD.oldWidth);
// table.style.width=table.width;
}
};
}
</script>
现有的代码可以复制到本地运行,直接得到图一的效果;把文中注释的部分的代码释放,就是得到图二。有兴趣的可以自行研究哦!
evExpress官方技术团队预计在11月发布HTML/Markdown 编辑器 (v21.2) 的下一个主要版本,此次更新将包括以下的新特性/功能:
DevExtreme Complete Subscription官方最新版免费下载试用,历史版本下载,在线文档和帮助文件下载-慧都网
支持表格调整大小
v21.2允许开发人员调整在HTML/Markdown编辑器中显示的表格大小,要启用此新功能,请将tableResizing.enabled属性设置为 true。您还可以使用tableResizing.minColumnWidth和tableResizing.minRowHeight属性限制最小列宽和行高:
Angular
<dx-html-editor>
<dxo-table-resizing
[enabled]="true"
[minColumnWidth]="70"
[minRowHeight]="30">
</dxo-table-resizing>
</dx-html-editor>
Vue
<DxHtmlEditor>
<DxTableResizing
:enabled="true"
:min-column-width="70"
:min-row-height="30"
/>
</DxHtmlEditor>
React
<HtmlEditor>
<TableResizing
enabled={true}
minColumnWidth={70}
minRowHeight={30}
/>
</HtmlEditor>
jQuery
$(function() {
$("#html-editor").dxHtmlEditor({
tableResizing: {
enabled: true,
minColumnWidth: 70,
minRowHeight: 30
}
});
});
表格单元格中的多行文本
在v21.2中,HTML/Markdown 编辑器增加了对表格单元格内多行文本的支持,要添加新行,用户只需按 Enter 键即可。
表格上下文菜单
表格单元格现在包括一个带有常用表格操作命令的上下文菜单,以前这些命令是使用工具栏控件执行的,此上下文菜单的引入允许您为其他控件/命令释放工具栏空间。
要激活上下文菜单,请将tableContextMenu.enabled属性设置为 true。 您还可以使用 tableContextMenu.items 数组重新排列或隐藏菜单命令:
Angular
<dx-html-editor>
<dxo-table-context-menu
[enabled]="true">
<dxi-item name="tableProperties"></dxi-item>
<dxi-item name="cellProperties"></dxi-item>
</dxo-table-context-menu>
</dx-html-editor>
Vue
<DxHtmlEditor>
<DxTableContextMenu
:enabled="true">
<DxItem name="tableProperties" />
<DxItem name="cellProperties" />
</DxTableContextMenu>
</DxHtmlEditor>
React
<HtmlEditor>
<TableContextMenu
enabled={true}>
<Item name="tableProperties" />
<Item name="cellProperties" />
</TableContextMenu>
</HtmlEditor>
jQuery
$(function() {
$("#html-editor").dxHtmlEditor({
tableContextMenu: {
enabled: true,
items: [ "tableProperties", "cellProperties" ]
}
});
});
支持表格标题
新版本改进了表格标记处理算法,现在支持表格标题 (<thead>)。
要添加标题行,最终用户可以单击Insert Header Row工具栏按钮,使用以下代码将按钮添加到工具栏:
Angular
<dx-html-editor>
<dxo-toolbar>
<dxi-item name="insertHeaderRow"></dxi-item>
</dxo-toolbar>
</dx-html-editor>
Vue
<DxHtmlEditor>
<DxToolbar>
<DxItem name="insertHeaderRow" />
</DxToolbar>
</DxHtmlEditor>
React
<HtmlEditor>
<Toolbar>
<Item name="insertHeaderRow" />
</Toolbar>
</HtmlEditor>
jQuery
$(function() {
$("#html-editor").dxHtmlEditor({
toolbar: {
items: [
// ...
"insertHeaderRow"
]
}
});
});
或者,用户可以从新引入的表格上下文菜单中选择插入标题行命令。
表格/单元格外观定制
新的弹出对话框允许用户根据要求修改表格和单元格属性。
可以更改下表属性:
单元格支持以下属性:
HTML/Markdown 编辑器将相应的属性和样式保存在输出标记中,并且可以在输入标记中指定它们时对其进行解析。
添加了在块元素(列表、表格、引号)中插入换行符的功能,要开始新行,用户必须使用 Shift + Enter 组合键,将 true 分配给 allowSoftLineBreak 属性以启用此功能:
Angular
<dx-html-editor
[allowSoftLineBreak]="true">
</dx-html-editor>
Vue
<DxHtmlEditor
:allow-soft-line-break="true">
</DxHtmlEditor>
React
<HtmlEditor
allowSoftLineBreak={true}>
</HtmlEditor>
jQuery
$(function() {
$("#html-editor").dxHtmlEditor({
allowSoftLineBreak: true
});
});
DevExtreme
DevExtreme拥有高性能的HTML5 / JavaScript小部件集合,使您可以利用现代Web开发堆栈(包括React,Angular,ASP.NET Core,jQuery,Knockout等)构建交互式的Web应用程序。从Angular和Reac,到ASP.NET Core或Vue,DevExtreme包含全面的高性能和响应式UI小部件集合,可在传统Web和下一代移动应用程序中使用。 该套件附带功能齐全的数据网格、交互式图表小部件、数据编辑器等。
*请认真填写需求信息,我们会在24小时内与您取得联系。