我试图在Excel.RangeC#的对象中选择Excel工作表中的所有单元格来应用自动调整,边框等.我在工作表中有一些合并的单元格.
这样做有什么简单的伎俩吗?
我需要按行合并Excel(xlsx)中的单元格,再使用列合并列PHPExcel.我尝试了以下内容.
$sheet->mergeCells("G".($row_count+1).":G".($row_count+4));
$sheet->mergeCells("H".($row_count+1).":H".($row_count+4));
$sheet->mergeCells("I".($row_count+1).":I".($row_count+4));
Run Code Online (Sandbox Code Playgroud)
变量$row_count有一些不可预测的动态值,如25,50,75等(没有常规模式).

它合并单元格,如前面的快照所示,可以在Note单元格的正下方看到.在按行合并这些单元格之后,我正在尝试按列合并它们,如下所示.
$sheet->mergeCells("G".($row_count+1).":I".($row_count+1));
Run Code Online (Sandbox Code Playgroud)
但它不起作用.当我尝试打开excel文件时,它会要求确认(带有确认框)
Excel在"report.xlsx"中找到了不可读的内容.你想恢复这个工作簿的内容吗?如果您信任此工作簿的来源,请单击"是".
如何在Excel中按行和列合并单元格呢?
我正在尝试使用EPPlus的条件格式化功能来格式化某个范围.我阅读了很多文档,但没有提到条件格式表达式.
我很困惑.不知道如何使用该功能.以下是我的一些问题:
谢谢!
(抱歉我写的英文不好)
我有一个包含一些数据的Excel表.通过使用下一个vba代码,我试图只过滤某些字段中的空白单元格并删除这些行
ActiveSheet.Range("$A$1:$I$" & lines).AutoFilter Field:=7, Criteria1:= _
"="
ActiveSheet.Range("$A$1:$I$" & lines).AutoFilter Field:=8, Criteria1:= _
"="
ActiveSheet.Range("$A$1:$I$" & lines).AutoFilter Field:=9, Criteria1:= _
"="
ActiveSheet.UsedRange.Offset(1, 0).Resize(ActiveSheet.UsedRange.rows.Count - 1).rows.Delete
ActiveSheet.ShowAllData
Run Code Online (Sandbox Code Playgroud)
它只有在此列中有空白单元格时才有效.但是我遇到了一个问题,当我没有空白单元格时,通过使用上面的代码,我的所有范围都从表格中移除.如何避免这个问题?我应该更改过滤条件或其他内容吗?
我正在使用c#解析asp.net中上传的excel文件(xlsx).我使用以下代码(简化):
string connString = string.Format("Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" + fileLocation + ";Extended Properties=\"Excel 12.0 Xml;HDR=YES\";");
OleDbDataAdapter adapter = new OleDbDataAdapter("SELECT * FROM [Sheet1$]", connString);
DataSet ds = new DataSet();
adapter.Fill(ds);
adapter.Dispose();
DataTable dt = ds.Tables[0];
var rows = from p in dt.AsEnumerable() select new { desc = p[2] };
Run Code Online (Sandbox Code Playgroud)
这样可以很好地工作,但是如果单元格中有超过255个字符,它将被切断.知道我做错了什么吗?谢谢.
编辑:查看Excel工作表时,它显示超过255个字符,所以我不相信工作表本身是有限的.
我目前有:
Range("Z1").Interior.Color = RGB(255, 255, 255)
Run Code Online (Sandbox Code Playgroud)
但这消灭了细胞的边界.相反,我只想将范围内的单元格透明度设置为1.0. 文档似乎暗示它不存在(?).
谢谢!
我使用这个方便的方程式来搜索excel中单元格内的术语.
=IF(ISNUMBER(SEARCH("*Gingrich*",C1)),"1","")
Run Code Online (Sandbox Code Playgroud)
此等式在C1中搜索Gingrich的存在,如果存在,则显示1.
我想要做的就是一次搜索多个术语.任何人都知道如何添加OR函数,所以我可以搜索Gingrich或奥巴马或罗姆尼等...?
我有一个Excel(2007)电子表格,有433行(加上顶部的标题行).我需要将其拆分为43个单独的电子表格文件,每个文件包含10行,其中一行包含剩余的3行.最好在每个电子表格的顶部都有标题行.我怎么能做到这一点?仅供参考,对于像这样的"更高级别"Excel功能,我是一个新手.
谢谢!
我有A栏:
+--+--------+
| | A |
+--+--------+
| 1|123456 |
|--+--------+
| 2|Order_No|
|--+--------+
| 3| 7 |
+--+--------+
Run Code Online (Sandbox Code Playgroud)
现在,如果我输入:
=Match(7,A1:A5,0)
Run Code Online (Sandbox Code Playgroud)
进入我得到的纸张上的一个单元格
3
Run Code Online (Sandbox Code Playgroud)
结果是.(这是期望的)
但是当我进入这一行时:
Dim CurrentShipment As Integer
CurrentShipment = 7
CurrentRow = Application.Match(CurrentShipment, Range("A1:A5"), 0)
Run Code Online (Sandbox Code Playgroud)
CurrentRow获取值"Error 2042"
我的第一直觉是确保值7实际上在范围内,而且确实如此.
我的下一个可能是匹配功能需要一个字符串所以我试过
Dim CurrentShipment As Integer
CurrentShipment = 7
CurrentRow = Application.Match(Cstr(CurrentShipment), Range("A1:A5"), 0)
Run Code Online (Sandbox Code Playgroud)
无济于事.
就在最近,我一直试图删除表中的所有数据行,除了第一行(需要清除)
正在执行的某些表可能已经没有行,所以我将其运行到问题,因为.DataBodyRange.Rows.Count在没有行的表上使用(只是页眉和/或页脚)会导致错误.
我全神贯注地寻找一个找不到整个解决方案的解决方案,所以我希望我对这个问题的回答将来对其他人有用.
excel-2007 ×10
excel ×9
vba ×4
c# ×3
excel-vba ×3
.net ×1
cell ×1
epplus ×1
excel-2010 ×1
excel-2013 ×1
linq ×1
php ×1
phpexcel ×1
transparency ×1
xlsx ×1