Skip to content

Instantly share code, notes, and snippets.

Avatar

K.Nakagawa earlgreyxxx

View GitHub Profile
View append-excel-es6.js
/*******************************************************************************
description:
ローカルのエクセルファイルを選択すると(<input type="file" id="select-file">、
選択したエクセルファイルへシートを追加し、テーブル要素(<table id="table-0">)を書込み、
そのエクセルシートをダウンロードするためのリンクをdocument.body に追加します。
※このままのコードだと、セルの書式属性は全部消えます。
*******************************************************************************/
(function($) {
View worker.js
importScripts('./node_modules/comlink/dist/umd/comlink.min.js');
async function resizer(file,offscreencanvas,max)
{
let width = max,height = max;
let img = await createImageBitmap(file);
let ratio = img.width / img.height;
if(ratio < 1 && img.width <= max)
return file;
View resize.image.js
/**************************************************************************
* resize image in file
**************************************************************************/
import * as Comlink from "./node_modules/comlink/dist/esm/comlink.min.mjs"
export default async function(file,max)
{
let canvas = document.createElement('canvas');
let offscreencanvas = canvas.transferControlToOffscreen();
View tasks.json
{
"version": "2.0.0",
"tasks": [
{
"label": "run nmake",
"type": "shell",
"command": "nmake.exe",
"args": [
"debug=1"
],
View launch.json
{
"version": "0.2.0",
"configurations": [
{
"name": "cl.exe デバッグ",
"type": "cppvsdbg",
"request": "launch",
"program": "${fileDirname}\\output\\${fileBasenameNoExtension}.exe",
"args": [],
"stopAtEntry": false,
View .babelrc
{
"presets": [
["@babel/preset-env",{
"useBuiltIns": "usage",
"corejs": 3,
"targets": [ "last 2 versions","> 2%","ie 11" ]
}
]
]
}
View index.js
/******************************************************************************
file name : index.js
画像を縮小して ajax でアップロードする。
usage :
<input type="file" name="sample" accept="image/png,image/jpeg">
<script type="module" src="index.js"></script>
******************************************************************************/
import ResizeImage from './resize.image.js';
View resize.image.js
/**************************************************************************
* resize image in file
**************************************************************************/
export default async function(file,max_pixcels)
{
let canvas = document.createElement('canvas');
canvas.setAttribute('width',0);
canvas.setAttribute('height',0);
canvas.setAttribute('id','canvas');
canvas.style.display = 'none';
View MultiSelectedShortcutMenu
/*************************************************************************
*
* プログラムに複数のファイルを渡すショートカットメニューハンドラ
* Windows Explorerのシェルエクステンション(COMサーバー)
*
* SharpShellを使用したシェルエクステンション
* base library : https://github.com/dwmkerr/sharpshell
*
* tutorial: https://www.codeproject.com/Articles/512956/NET-Shell-Extensions-Shell-Context-Menus
* -----------------------------------------
View Makefile
# MAKEFILE for nmake
#出力先はカレントディレクトリ禁止
OUTDIR=.\Output
#各ツールフラグ
FLAGS=/nologo
##設定ここまで##################################
CPP=csc.exe