반응형

XSSFCellStyle style = (XSSFCellStyle)workbook.CreateCellStyle();

 

//셀 배경색 지정 (FillPattern, SetFillForegroundColor)

style.FillPattern = FillPattern.SolidForeground;

byte[] rgb = new byte[]{255,255,255}; //셀색상 RGB로 설정
style.SetFillForegroundColor(new XSSFColor(rgb));

 

//셀 align, verticalAlign

style.Alignment = HorizontalAlignment.Center;
style.VerticalAlignment = VerticalAlignment.Center;

 

//셀 테두리 UP,BOTTOM,LEFT,RIGHT

style.BorderBottom = NPOI.SS.UserModel.BorderStyle.Thin;
style.BorderTop = NPOI.SS.UserModel.BorderStyle.Thin;
style.BorderLeft = NPOI.SS.UserModel.BorderStyle.Thin;
style.BorderRight = NPOI.SS.UserModel.BorderStyle.Thin;

 

cell.CellStyle = style; //cell => ICell

반응형

//c#(asp.net)

public class myInfo{

    public string p01{get; set;}

    public string p02{get; set;}

}

[WebMethod]
public static string methodName(myInfo info)

 

//js

let minfo = {};
minfo.p01 = 'p01_value';
minfo.p02 = 'p02_value';

 

let jsonPrm = {};
jsonPrm['info'] = minfo;

 

$.ajax({
        type: "POST",
        url: "popup01.aspx/updateOrgMaster",
        data: JSON.stringify(jsonPrm),
        contentType: "application/json; charset=utf-8",
        dataType: "json",
        async: false,
        success: function (msg) {});

 

 

※참고 : Pass JSON data object from jQuery AJAX to WebMethod in ASP.Net (aspsnippets.com)

반응형

<img id='imgID' src='../images/some_image.png'>

 

#JS

document.getElementById('imgID').style.transform = "rotate(90deg)"

 

출처 : https://stackoverflow.com/questions/16794310/rotate-image-with-javascript

 

#jQuery

$('#imgID').css({'transform':'rotate(90deg)'})

출처 : https://okky.kr/articles/681005

 

 

반응형

아래와 같이 jsonVal이라는 데이터가 있다고 가정하고

jsonVal = [

    {name:'사과',price:100},

    {name:'자두',price:50},

    {name:'포도',price:200},

]

jsonVal에서 '사과'의 price를 찾고 싶을경우 아래와 같이 사용할 수 있다.

 

jsonVal.filter(

    function(e){

        return e.name == '사과'

    }

)[0].price

 

※참고 : https://emessell.tistory.com/184

반응형

string[] filename

 

#기존 코드

            for (int i = 0; i < filename.Length; i++)
            {
                DataSet _ds = GetData(filename[i]);
                _dt.Merge(_ds.Tables[0]);
            }

#병열화 코드

            Parallel.ForEach(filenamefile =>
            {
                DataSet _ds = GetData2(file);
                _dt.Merge(_ds.Tables[0]);
            });

 

기존코드에서 데이터를 처리할때 2시간 걸리던 동작이 병열처리로 30분으로 줄었다.

단점은 데이터를 병열로 처리하다보니 순서가 뒤죽박죽이 된다. 데이터의 순서가 중요한 경우

사용에 주의가 필요하다.

Parallel.For로도 사용할 수 있다.

반응형

### 01. MDI Child Form Name으로 Form 활성화 ###

Form fm

Type t = Type.GetType("myApp.forms." + _name);
fm = Activator.CreateInstance(t) as Form;
fm.MdiParent = this;
fm.Show();

 

### 02.  다른 Form의 함수를 호출 ###

using System.Reflection;

 

Type t = fm.GetType();
MethodInfo minfo = t.GetMethod("ClearData", BindingFlags.Instance | BindingFlags.Public);
object[] prm = new object[1];
prm[0] = strParam;
minfo.Invoke(fm, prm);

 

※ 02. 참고 : https://amored8701.tistory.com/112

 

 

반응형

C# MDI form을 사용하다보면 child form의 icon이 아래와 같이 이상하게 나올때가 있다.

해결 방법은

1. MdiParent form의 속성에 MainMenuStrip를 연결한다.

2. MdiChild FormActivate에다음과 같이 코드를 추가한다.

                var bmp = new Bitmap(16, 16);
                using (var g = Graphics.FromImage(bmp))
                {
                    g.DrawImage(childForm.Icon.ToBitmap(), new Rectangle(0, 0, 16, 16));
                }
                var newIcon Icon.FromHandle(bmp.GetHicon());
                childForm.Icon = newIcon;

                childForm.Show();

 

※출처 : https://stackoverflow.com/questions/6119533/scaling-the-icon-used-by-a-maximised-mdi-child-in-the-parent-forms-menustrip

반응형

Dim rtn As String

 

Sub sub01()
        Call fncName(va)
        tmp= rtn
        Cells(1, 1) = tmp
End Sub

Public Function fncName(ByVal va As Integer) As String
    rtn = va
    fncName = rtn
End Function

1) sub01에서 fncName을 호출한다 

     (Sub가 Function을 호출한다)

2) Function은 return값이 있다.

3) 반환할 rtn변수를 선언해 두고 function에서 사용한다.

4) 반활할때 function의 이름에 반환할 변수를 대입해준다.

5)Function에 입력받을 변수에 ByVal을 반드시 선언해야 한다.

 

=============================

진짜 그지같네...

반응형

Download Firemin to optimize Firefox memory usage (rizonesoft.com) (사이트링크)

 

크롬, 엣지, 파폭의 메모리 사용량을 잡아주는 프로그램이다.

크롬계열(엣지포함)의 고질적인 메모리과다 사용문제를 잡아준다.

 

확장프로세스에 크롬과 엣지의 실행파일명칭을 등록해주면 된다.

 

반응형

특정 이미지 아이콘에서 설정된 변수에 따라 아이콘의 색상이 변하는 기능을 구현하고자 한다.

기존 jpg, png등은 이미지파일을 미리준비해야 했지만 svg를 쓰면 아이콘의 색상을 바꾸는 것이 가능하다.

(그리고 아이콘의 모양을 실시간으로 변경하는 것 또한 가능은하다)

 

여기에 생성된 svg가 있다

 

var svg = '';

svg += "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n";

svg += "<!-- Generator: Adobe Illustrator 25.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0)  -->\n";

svg += "<svg version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" x=\"0px\"\n";

svg += "  y=\"0px\" viewBox=\"0 0 24.7 21.6\" style=\"enable-background:new 0 0 24.7 21.6;\" xml:space=\"preserve\">\n";

svg += "<style type=\"text/css\">\n";
svg += " .st0{fill:#" + color + ";}\n";
svg += " .st1{fill:#FFFFFF;}\n";
svg += "</style>\n";
svg += "<path class=\"st0\" d=\"M6.7,1.6L2.6,7.1H5c0.6,0,1,0.4,1,1V20h12.7V8.1c0-0.6,0.4-1,1-1h2.4l-4.1-5.5H6.7z\"/>\n";
svg += "<path class=\"st1\" d=\"M6.5,1.2L1.8,7.5H5c0.3,0,0.6,0.3,0.6,0.6v12.3h13.5V8.1c0-0.3,0.3-0.6,0.6-0.6h3.2l-4.7-6.3H6.5z M19.7,7.1\n";
svg += " c-0.6,0-1,0.4-1,1V20H6V8.1c0-0.6-0.4-1-1-1H2.6l4.1-5.5h11.4l4.1,5.5H19.7z\"/>\n";
svg += "<path d=\"M24.6,7.7l-5.6-7.5C18.9,0.1,18.8,0,18.6,0H6.2C6,0,5.8,0.1,5.7,0.2L0.1,7.7C0,7.9,0,8.1,0.1,8.3s0.3,0.3,0.5,0.3h3.8V21\n";
svg += " c0,0.3,0.3,0.6,0.6,0.6h14.7c0.3,0,0.6-0.3,0.6-0.6V8.7h3.8c0.2,0,0.4-0.1,0.5-0.3S24.8,7.9,24.6,7.7z M19.7,7.5\n";
svg += " c-0.3,0-0.6,0.3-0.6,0.6v12.3H5.6V8.1c0-0.3-0.3-0.6-0.6-0.6H1.8l4.7-6.3h11.8l4.7,6.3H19.7z\"/>\n";
svg += "</svg>\n";

 

이 svg는 실시간으로 생성되는 값이며 svg값을 <img src=에 적용하려고 한다.

src에 아래와 같이 적용해주면 된다.

"data:image/svg+xml;base64," + window.btoa(svg);

중요한 것은 svg의 소스를 base64로 변환해야 하며 btoa()가 base64로 변환해준다.

"data:image/svg+xml;base64," 이구문도 반드시 추가해야한다.

 

 

+ Recent posts